作者:私语茶馆
1.开源的文件上传组件介绍
本文使用的是Apache Commons下面的一个子项目FileUpload,另外一个常见组件是SmartUpload。FileUpload遵循RFC 1897,即“Form-based File Upload in HTML”,对于请求需要满足:HTTP协议,Post请求,content Type=“multipart/form-data”(传输内容为二进制,包括文件,MP3等)
FileUpload当前有2.0.0-M2版本,适用JAVA11+, 2.0.0-M1适用JAVA 8+,由于和Java、tomcat版本之间配合问题比较多,例如Jakarta和JavaX,这里选用的是1.5版本,适用JAVA1.6+版本。实验的版本是:(Commons-fileupload1.5版本,common-io 2.15.1版本)。
本文重点讲述如何用批量文件传输的模式。
2.FileUpload的使用介绍
FileUpload提供了FileItem和Streaming API两种接口,处于性能考虑推荐streaming API,如果应用场景比较简单,可以用FileItem接口,比较简单。
批量文件上传的场景:小文件上传保存在内存;较大文件上传保存在临时文件或硬盘;超大文件不允许传输<