—无刷新文件上传—
无刷新文件上传又叫:ajax异步文件上传。这个命名是为了和早期的文件上传区分,早期的文件上传是post请求页面上传,文件上传完成后要对页面进行刷新。
方式:ajax、iframe、flash三种上传方案
—原理—
很多无刷新提交的插件,大部分插件都是基于一个隐藏的iframe做的。
1、插入一个隐藏的iframe,其name为framename。
2、监听上传文件的域的change事件,当事件触发时动态的创建一个form,并将当前文件上传域插入到form中,在我们之前创建的iframe中提交form,就是将form的target属性设置为隐藏iframe的name也就是framename。
这样就实现了无刷新上传。
—代码—
具体实现代码不在说明(网上的源码大家都可以阅读,跟踪实现以下。)。
—最后—
当然每个文件上传的开源组件都有自己的优缺点,大家在日后的工作学习中都可以多多的积累,根据项目的需求选择不同的开源组件。
LZ就是根据当前的这个需求js文件上传——图片压缩,对文件上传的开源组件进行过筛选,最后选出自己适用的。