方法一:
java:
@RequestMapping("/testFile")
public String fileUpload(MultipartFile multipartFile) {
String path= "d:\\upload\\test\\";
// 原名
String[] type = multipartFile.getOriginalFilename().split("\\.");//为了获取图片类型 如:jpg
String filename=new Date().getTime()+"."+multipartFile.getOriginalFilename().split("\\.")[type.length-1];//改文件名 为:日期.xxx
//路径
File file = new File(path);
//不存在创建文件夹
if(!file.exists() && !file.isDirectory()){
file.mkdirs();
}
File myfile = new File(path+filename);
try {
multipartFile.transferTo(myfile);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return filename;
}
自测:

文件会保存在d盘upload下test下。
方法二:
public static final String FileUpload(MultipartFile multipartFile,String path) throws IOException { String[] type = multipartFile.getOriginalFilename().split("\\.");//为了获取图片类型 如:jpg String filename=new Date().getTime()+"."+multipartFile.getOriginalFilename().split("\\.")[type.length-1];//改文件名 为:日期.xxx //路径 File file = new File(path); //不存在创建文件夹 if(!file.exists() && !file.isDirectory()){ file.mkdirs(); } DataOutputStream out = new DataOutputStream(new FileOutputStream(path+filename));//存放文件的绝对路径 InputStream is = null;// 附件输入流 try { is = multipartFile.getInputStream(); byte[] b=new byte[is.available()];//available 先得知数据流里有多少个字节可以读取 is.read(b); out.write(b); } catch (IOException exception) { exception.printStackTrace(); } finally { if (is != null) { is.close(); } if (out != null) { out.close(); } } return filename; }
原文:https://www.cnblogs.com/DarGi2019/p/12122700.html