文件上传分了4种类型:1)使用commons-fileupload工具包上传;2)使用springmvc上
传单个文件;3)使用springmvc上传多个文件;4)使用百度的webuploader插件进行断点续传。代码如下:
参考:https://github.com/hurricane123/multi/tree/master/springboot
文件下载:
js:
ns.downloadFile = function(name){
var a = document.createElement('a');
var url = basePath + 'fileserver/downloadFile/?name='+name;
a.href=url;
a.click()
}
Java:
@GetMapping("downloadFile")
public void downloadFile(HttpServletResponse response,@RequestParam String name) {
String uploadPath = initUploadDictory();
File file = new File(uploadPath+name);
if (uploadPath!=null && file.isFile()) {
InputStream inputStream = null;
OutputStream outputStream = null;
try {
inputStream = new FileInputStream(file);
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=" + name);
outputStream = response.getOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while((len = inputStream.read(buffer, 0, 1024))>0) {
outputStream.write(buffer, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if (inputStream!=null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
inputStream = null;
}
}
if (outputStream!=null) {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
outputStream = null;
}
}
}
}
}