我们都知道,html5中有个input type=file元素。用该元素可以实现页面上传文件的功能 。
页面上写一个input,然后选择一个文件,打印这个input对象
$('.up-file').on('change',function(e){ //上传
console.log( e.currentTarget)
})
input的选择的文件被记录到了这个对象中,这个是fileList对象,是一个只读对象不能修改
当文件上传我们选择取消时其实是需要对input的fileList赋予它上一次选中的文件流
这里主要说一下,怎么用js给input赋值,而手动的去选择文件
因为文件在上传的时候点击了
当上传时点击了取消,文件就会被清空,现做兼容处理为赋予其上一次选择的文件
取出files后,用$('.pub-dialog .up-file')[0].files=files;将文件赋值给input,注意赋值的必须是fileList对象,不要试图只放进去一个文件,fileList只读
然后正常的提交就可以了
参考原文地址为原文地址