上传(注:不需要添加任何依赖):
@RequestMapping(value = "htmlUpload", method = RequestMethod.POST)
@ResponseBody
public Object htmlUpload(@RequestParam(value = "t_pic", required = false) MultipartFile pic
, HttpServletRequest request) {
String fileName = "";
String newName = "";
if (!pic.isEmpty()) {
{
if (pic.getSize() <= 1048576) {
System.out.println(pic.getSize());
String path = request.getSession().getServletContext().getRealPath("static/img");
fileName = pic.getOriginalFilename();
newName = UUID.randomUUID().toString() + "." + FilenameUtils.getExtension(fileName);
//System.out.println("重命名的文件名:" + newName);
File file = new File(path, newName);
System.out.println("项目中态资源文件夹中img的路径" + path);
try {
pic.transferTo(file);
} catch (IOException e) {
e.printStackTrace();
}
return "上传成功";
}
}
}
return "上传失败";
}
下载:
@RequestMapping(value = "/testDownload", method = RequestMethod.GET)
public void Download(HttpServletResponse res) {
String fileName = "FLAMING MOUNTAIN.JPG";
res.setHeader("content-type", "application/octet-stream");
res.setContentType("application/octet-stream");
res.setHeader("Content-Disposition", "attachment;filename=" + fileName);
byte[] buff = new byte[1024];
BufferedInputStream bis = null;
OutputStream os = null;
try {
os = res.getOutputStream();
bis = new BufferedInputStream(new FileInputStream(new File("C:\\Users\\123\\Pictures\\"
+ fileName)));
int i = bis.read(buff);
while (i != -1) {
os.write(buff, 0, buff.length);
os.flush();
i = bis.read(buff);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("success");
}
最后,直接上页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>html文件上传</title>
</head>
<body>
<p>html文件上传</p>
<form action="/htmlUpload" method="post" enctype="multipart/form-data">
<p><input type="file" name="t_pic"> <input type="submit" id="sc" value="上传"> </p>
</form>
<br>
<a href="/testDownload">下载</a>
</body>
</html>