C:\fakepath 解决方案 MultipartFile 转成 File 获得 inputStream

avatar 2017年12月29日16:20:26 6 14668 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
在弄 Excel 导入的时候,其中一个地方是需要获取输入流

像这样,填入本地文件即可
  1. FileInputStream fis = new FileInputStream("/Users/liuyanzhao/Desktop/user.xls");



但是如果使用下面这种方法获取文件路径,发现行不通

HTML代码
  1. <input id="file" name="file" type="file" required>

JS代码
  1. alert($("#file").val())



因为浏览器保护,不允许显示本地文件路径,所以如果从文件框里获取文件路径,将得到的是一个

C:\fakepath\文件名




解决方案


通过上传文件的方式获取文件流

上传文件这里使用的是 ajaxfileupload.js 插件

后台是 SpringMVC

上传文件方面的内容这里就不贴了,本文主要问题是解决 MultipartFile 转成 File 类型,然后获得输入流Java
  1. CommonsMultipartFile cFile = (CommonsMultipartFile) file;
  2. DiskFileItem fileItem = (DiskFileItem) cFile.getFileItem();
  3. InputStream inputStream = fileItem.getInputStream();

其中 file 是 MultipartFile file



需要导入上传文件和IO操作的依赖,并配置上传文件 multipartResolver





本文地址:https://liuyanzhao.com/7086.html
  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0