这个是之前的项目做一个很多表单验证的时候用到的插件,之前做的时候用的也是uploadfile插件,但是那个是多文件上传,怎么设置单文件上传具体未知,所以就选择了这个异步上传的插件,之所以选择jquery.form.js因为我需要后台给我返的id,和name,在提交表单的时候再次发给后台。
首先引入jquery和jquery.form.js
jquery.form.js点击打开链接
html:
js:
首先,一开做的时候忽略了input上的name,所以一直获取不到文件流,就一直在找问题,之后对照网上的文档来说发现少了一个name导致获取不到文件流,这点值得注意一下。
因为项目要求要兼容到IE9,我用获取到的文件流的格式来获取name来切割,如:
var files =$('#input').files[0];
但是这个[0]在IE9下报错,原因未知,所以就换了一种方法就是获取到当前的value,$('#input').value可以获取到当前的路径用来切割出当前的格式,但是由于文件的名字可能有.所以用了字符串反串的方法,如下。
var i = str.lastIndexOf('.');
str.substring(i,str.length);