1.maven 依赖
<!-- file --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version> </dependency>
2.代码实现 package com.crrs.common.utils; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; /** * @author sunli * @date 2020/7/29 * @deprecated 字符串路径转MulFile **/ public class StringConversionMulFileUtils { // 把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"; } }