- 实际项目中经常用到文件上传功能,可使用如下方法来转换成File
// 选择用缓冲区来实现这个转换即使用java 创建的临时文件 使用 MultipartFile.transferto()方法
private File transferToFile(MultipartFile multipartFile) {
File file = null;
try {
String originalFilename = multipartFile.getOriginalFilename();
String[] filename = originalFilename.split(".");
file=File.createTempFile(filename[0], filename[1]);
multipartFile.transferTo(file);
file.deleteOnExit();
} catch (IOException e) {
e.printStackTrace();
}
return file;
}
- 上传文件到本地服务器,关键代码如下:
// 上传了多个文件
for(MultipartFile multipartFile:files){
String fileName=multipartFile.getOriginalFilename();
FileOutputStream fos=new FileOutputStream("目标文件全路径");
//获取本地文件输入流
File newFile= FileUtils.transferToFile(multipartFile);
InputStream stream = new FileInputStream(newFile);
//写入目标文件
byte[] buffer = new byte[1024*1024];
int byteRead;
try {
while((byteRead=stream.read(buffer))!=-1){
fos.write(buffer, 0, byteRead);
fos.flush();
}
fos.close();
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
版权声明:本文为qq_17376623原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。