大神們好:
需求描述:頁面選擇多張圖片后,支持單個洗掉,使用form提交檔案能和表單一起提交到后臺
問題描述:js初始化不設定uploadUrl屬性,圖片右下角不會出現洗掉圖示(所以寫了個虛假url,目的是顯示洗掉圖示)
1.如果不點擊圖片的單個洗掉,直接form提交到后臺檔案數正常。
2.如果點擊了單個圖片洗掉,頁面效果正常,不過提交到后臺的檔案都被清空了。
3.如果先選3張,洗掉1張,再選1張,頁面上面顯示3張(正常),但是提交到后臺只有洗掉之后再次選擇的那1張
4.如果使用異步提交圖片,不會出現上述問題,但是因專案原因,需使用form提交
求解方案:fileinput form同步提交能否在單個洗掉后提交到后臺檔案數量正常
這是初始化頁面html多檔案上傳
<div class="form-group">
<label class="col-sm-3 control-label">類目圖片:</label>
<div class="col-sm-8">
<input id="catTypeUrls" name="catTypeUrls" type="file" class="file-loading" accept="image/*" multiple>
</div>
</div>
這是js初始化組件(uploadUrl隨便寫的,因為加了這個標簽圖片上面的單個洗掉才會顯示)
$("#catTypeUrls").fileinput({
uploadUrl: "upload",
uploadAsync: false, //同步上傳
showUpload : false,
showRemove : false,
autoReplace: false,
maxFileCount: 10,
language : 'zh',
showCaption: false,
enctype: 'multipart/form-data',
allowedFileExtensions: ["jpg", "png", "gif"],
minImageWidth: 50,
minImageHeight: 50,
maxFileSize : 2000,
overwriteInitial: false,//不覆寫已存在的圖片
layoutTemplates:{
actionUpload:'' //設定為空可去掉上傳按鈕
//actionDelete:'' //設定為空可去掉洗掉按鈕
}
});這是頁面顯示效果
uj5u.com熱心網友回復:
除錯原始碼發現,使用異步提交時候呼叫了原始碼的upload函式,而使用form提交沒有呼叫該函式,該函式做了一系列的處理或者有大神知道form提交的時候取fileinput的資料是取自哪里(函式)嗎?
uj5u.com熱心網友回復:
大神,我也遇到了一樣的問題,請問你解決了嗎?卡了2天了
謝大神了!
uj5u.com熱心網友回復:
這個插件直接form提交時提交原始的file那個dom物件,只能得到最后一次選擇的檔案,因為都是同一個file,選擇多次值保存最后一次選擇的。而ajax提交的是FormData,每次file 那個dom change都會添加內容到FormData中,洗掉也會從FormData中洗掉
操作的的不是同一個file物件,一定要表單提交可以參考這個,也是批量上傳的:多檔案選擇上傳jquery插件,居于表單提交的
uj5u.com熱心網友回復:
你好 樓主 上傳成功之后 洗掉的時候 如何跟縮略圖和后臺掛鉤 ?uj5u.com熱心網友回復:
最后怎么解決的啊急急急大哥轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/238368.html
標籤:JavaScript
下一篇:新手小白!!求教
