// 把File转成MultipartFile
private static MultipartFile getMulFileByPath(String picPath) {
FileItem fileItem = createFileItem(picPath);
MultipartFile mfile = new CommonsMultipartFile(fileItem);
return mfile;
}
private static FileItem createFileItem(String filePath) {
FileItemFactory factory = new DiskFileItemFactory(16, null);
String textFieldName = "textField";
int num = filePath.lastIndexOf(".");
String extFile = filePath.substring(num);
FileItem item = factory.createItem(textFieldName, "text/plain", true, "MyFileName" + extFile);
File newfile = new File(filePath);
int bytesRead = 0;
byte[] buffer = new byte[8192];
try {
FileInputStream fis = new FileInputStream(newfile);
OutputStream os = item.getOutputStream();
while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
return item;
}
// 测试
@PostMapping("/testtest")
public String testtest(@RequestParam("path") String path) throws FileNotFoundException {
MultipartFile multipartFile = getMulFileByPath(path);
String fullpath = "C:\\Users\\jiangyafen\\Desktop\\imageTest\\test";
// 保存图片
try {
// MultipartFile转byte
byte[] img = multipartFile.getBytes();
File file = new File(fullpath);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
FileImageOutputStream imageOutput = new FileImageOutputStream(file);
imageOutput.write(img, 0, img.length);
Thumbnails.of(file).scale(0.5).toFile(fullpath);
imageOutput.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new AppBizException(e.getLocalizedMessage());
}
return "scuess";
}
java-把File转成MultipartFile
最新推荐文章于 2024-08-04 17:56:28 发布