//######################springMVC附件上传#######################################
@PostMapping("/bgmUpload")
@ResponseBody //表示返回到前端的是json對象
public void bgmUpload(HttpServletRequest request, HttpServletResponse response) throws Exception {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
DiskFileItemFactory sf= new DiskFileItemFactory();//实例化磁盘被文件列表工厂
String path = "D:\\mysuic";//得到上传文件的存放目录
sf.setRepository(new File(path));//设置文件存放目录
sf.setSizeThreshold(1024*1024);//设置文件上传小于1M放在内存中
String rename = "";//文件新生成的文件名
String fileName = "";//文件原名称
String name = "";//普通field字段
//从工厂得到servletupload文件上传类
ServletFileUpload sfu = new ServletFileUpload(sf);
try {
List<FileItem> lst = sfu.parseRequest(request);//得到request中所有的元素
for (FileItem fileItem : lst) {
if(fileItem.isFormField()){
if("name".equals(fileItem.getFieldName())){
name = fileItem.getString("UTF-8");
}
}else{
//获得文件名称
fileName = fileItem.getName();
fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
String houzhui = fileName.substring(fileName.lastIndexOf("."));
rename = UUID.randomUUID()+houzhui;
fileItem.write(new File(path, rename));
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect("message.jsp");
out.flush();
out.close();
}
############################################################
jsp页面:<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<div class="form-group">
<label class="col-md-3 control-label"><span class="field-required">
* </span>音乐片段</label>
<div class="col-md-4">
<form action="/mvc/bgmUpload" enctype="multipart/form-data" method="post">
<div id="input-error">
<input type="hidden" id="path" class="form-control"/>
<input id="file" type="file" name="file"/>
<div id="bgmContent"></div>
<input type="submit" value="提交"/>
</div>
</form>
</div>
</div>
</body>
</html>
//#############################Spring boot文件上传###################################
@RequestMapping("/Upload")
@ResponseBody
public String bgmUpload(@RequestParam("file") MultipartFile file) throws Exception {
if (file.isEmpty()) {
return "上传失败,请选择文件";
}
String fileName = file.getOriginalFilename();
String filePath = "D:\\musicFile";
File dest = new File(filePath,fileName);
try {
file.transferTo(dest);
System.out.println("上传成功");
return "上传成功";
} catch (IOException e) {
System.out.println(e.toString());
}
return "上传失败!";
/**
*
* 多个文件上传
* List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
String filePath = "/Users/itinypocket/workspace/temp/";
for (int i = 0; i < files.size(); i++) {
MultipartFile file = files.get(i);
if (file.isEmpty()) {
return "上传第" + (i++) + "个文件失败";
}
String fileName = file.getOriginalFilename();
File dest = new File(filePath + fileName);
try {
file.transferTo(dest);
System.out.println("上传成功");
} catch (IOException e) {
System.out.println(e.toString());
return "上传第" + (i++) + "个文件失败";
}
}
*/
}