SpringMVC上传文件MultipartFile转为File的方法

在使用 SpringMVC 上传文件时,接收到的文件格式为 MultipartFile,但是在很多场景下使用都需要File格式的文件,记录下以便日后使用。

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站建设、徐汇网络推广、重庆小程序开发公司、徐汇网络营销、徐汇企业策划、徐汇品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供徐汇建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

以下mFile为MultipartFile文件
此方法会在本地产生临时文件,使用完毕需要删除
在网上搜索未发现可直接使用的不产生临时文件的方法,查到几个本地测试皆无法通过,如哪位有不产生临时文件的方法,请多多指教👍

MultipartFile 转为 File

File file = new File(mFile.getOriginalFilename());
FileUtils.copyInputStreamToFile(mFile.getInputStream(), file);
// 会在本地产生临时文件,用完后需要删除
if (file.exists()) {
  file.delete();
}

MultipartFile 获取 Base64 编码

File file = new File(mFile.getOriginalFilename());
FileUtils.copyInputStreamToFile(mFile.getInputStream(), file);
try (FileInputStream fis = new FileInputStream(file)) {
  byte[] buf = new byte[(int) file.length()];
  fis.read(buf);
  return new String(Base64.encodeBase64(buf), StandardCharsets.ISO_8859_1);
} catch (IOException e) {
  log.error(e.getMessage(), e);
} finally {
  if (file.exists()) {
    file.delete();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


本文名称:SpringMVC上传文件MultipartFile转为File的方法
本文来源:http://hbruida.cn/article/ieeiih.html