java-把File转成MultipartFile

	// 把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";
	}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值