在使用 SpringMVC 上传文件时,接收到的文件格式为 MultipartFile,但是在很多场景下使用都需要File格式的文件,记录下以便日后使用。
以下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(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。