不使用第三方上传和下载。
上传文件:
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public void uploadFile(HttpServletRequest request) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
String path = File.separator + "Files";
String realPath = request.getSession().getServletContext().getRealPath(path);
String fileName;
String fileType;
MultipartFile mf;
File uploadFile;
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
mf= entity.getValue();
fileName = mf.getOriginalFilename();
fileType= fileName.substring(fileName.lastIndexOf(".") + 1);
String filePath = fileName + "." + fileType;
uploadFile = new File(realPath + File.separator + filePath);
try {
mf.transferTo(uploadFile);
}catch (Exception e)
{
e.printStackTrace();
}
}
}
上面是获取所有上传文件,也可以获取指定名称的文件
下载文件:MultipartFile userImg = multipartRequest.getFile("paramName");
@RequestMapping("/download") public void downloadFile(String fileName,HttpServletResponse response){ response.setCharacterEncoding("utf-8"); response.setContentType("multipart/form-data"); response.setHeader("Content-Disposition", "attachment;fileName="+fileName); try { File file=new File(fileName); InputStream inputStream=new FileInputStream("file/"+file); OutputStream os=response.getOutputStream(); byte[] b=new byte[1024]; int length; while((length=inputStream.read(b))>0){ os.write(b,0,length); } inputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }