使用form表单上传文件

时间:2021-09-20 02:02:08

在使用form表单上传文件时候,input[type='file']是必然会用的,其中有一些小坑需要避免。

  1、form的 enctype="multipart/form-data" 已经是个老生常谈的问题了,相信都能注意到,就不多说了。

  2、上传下载的请求是不能用ajax提交返回json的。

  3、当使用input[type='file'] 的onChange事件来触发文件上传的时候要注意当上传成功时清空input的时候,不能简单的使用$("input").val('');这样在某些浏览器(IE)会导致change执行两遍,因为IE认为当你执行JS改变input值时候浏览器会再次执行change事件,

    所以正确的处理方式可以先remove input元素 再重新append一个。

1       $input.remove();
2 var html = "<input name='importExcel' id='excel' onchange='aaa();' type='file' multiple='true'/>";
3 $("#import-file").html(html);