编辑回显参考2楼
附带批量上传失败删除图片的方法
ajax 提交失败后的处理如下:
error: function(responseStr) {
data.('file', file_one);
// console.log(file_type);
//12出错后的动作
self.msg("errorPort...");
self.msg(responseStr);
self.setView(file_type, 1, 'icon-error', '上传失败');
para.errorPort(responseStr);
var this_file = {};
var this_id = '';
var md5 = file_type['md5'];
all = self.files_all;
for (let key in all) {
if (all[key]['md5'] == md5) {
this_file = all[key];
this_id = key;
break;
}
}
self.files_all[this_id];
// $(this).parent().parent('li').remove();
$(".FraUpload_imglist li").each(function() {
console.log($(this).data('md5'))
if ($(this).data('md5') == md5) {
$(this).remove()
}
});
para.Post(this_file);
$(".fileInput").val('')
}
回复
编辑时能回显:
FraUpload.js 30行后添加代码:def : {},同时修改一下createHtml方法,在createHtml方法中的view_DOM = $("#"+view_id);后添加如下代码:
for (var i = 0; i < para.def.length; i++) {
var name = para.def[i].substring(para.def[i].lastIndexOf("\/"), para.def[i].length);
view_DOM.append('' + name + '已上传的')
self.files_all[i] = {
filename: name,
size: '100',
type: 'img',
obj: '',
md5: name,
is_upload: '',
ajax: {
code: 1,
msg: '成功',
data: {
id: 1,
filepath: para.def[i]
}
},
}
}这样,实例化插件是需要带上def,如:
a = $("#upload_duixiang").FraUpload({
view: ".show", // 视图输出位置
url: "/admin/depart/uploadImg.html", // 上传接口
fetch: "img", // 视图现在只支持img
debug: false, // 是否开启调试模式
def: ['test1.jpg', 'test2.jpg', 'test3.jpg'],
});修改思路,实例化图片上传插件时,将需要回显的图片以js数组的形式赋值给def。改造createHtml方法,在初始化插件的时候遍历回显def中的图片,同时将回显得图片推进files_all中【这一步最关键】。
import json
result = {
"code": 1,
"msg": "操作成功",
"data": {
"id": "407",
"filepath": "/uploads/article/20190717/6c25fd31c7821214a991bd9323e1d303.jpg"
},
"url": "",
"wait": 3
}
return HttpResponse(json.dumps(result), content_type = "application/json")
回复