您的位置:首页 > 编程语言 > Java开发

spring上传下载文件

2016-12-11 19:54 316 查看
不使用第三方上传和下载。

上传文件:@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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 文件 上传 下载