清除图片上传后的路径
备注: 项目发现通过input type=file 上传文件,通过onchange方法绑定方法,却无法重复上传同一个文件,原因是上传文件后input标签的value值未改变,所以没有触发事件。
修改: 由于开发框架是基于JQ的,所以利用jq选择对应input标签并清除其内容达到可以上传同名文件的目的。
html代码
<div class="m-btn" v-if="operationArr.uploadFile == 1">上传
<input type="file" id="fileupload" :data-tmtid="item.tmt_id" :data-type="1" :data-index="index" @change="uploadFile" /></div>
js代码
uploadFile: function(e) {
var vm = this
var fd = new FormData();
var t_id = vm.t_id
var tmt_id = e.target.dataset.tmtid
var _url = ''
var type = +e.target.dataset.type
var _file = e.target.files
fd.append("upload", 1);
fd.append("upfile", _file[0]);
var _dom = $('#fileupload'); //使用JQ获取input标签
if (type == 1) {
// 上传材料
_url = "/index.php?m=admin&c=file&a=upload_file&tmt_id=" + tmt_id
F["ajax"]({
url: _url,
type: "POST",
processData: false,
contentType: false,
data: fd,
success: function(d) {
vm.layerMsg(d.status, '上传成功')
vm.getMaterialLists()
_dom.val('') //清空路径
},
fail: function(d) {
layer.msg(d.info, {
time: 1000,
icon: 0,
shade: 0.01
});
_dom.val('') //清空路径
}
});
}
}