从MultipartFile获取File式的inputStream

来源:互联网 发布:cf手游刷图软件 编辑:程序博客网 时间:2024/06/05 13:23

从springmvc获取到的文件是MultipartFile类型的,有的时候不能直接用从这种类型获取到的inputstream操作一些事情,比如从中初始化poi的Workbook,这时候要怎么获取到File式的流呢?
有一个方法就是把读到的MultipartFile转存到本地,然后再从本地读取这个转存的这个临时文件,从中获取文件流。这么写的话可以达到目的但是听起来就很繁琐对不对。还有一个方法,是从csdn论坛上看到的一部分获取的灵感,在这里分享给大家:
其中mFile就是MultipartFile类型的。

import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.commons.CommonsMultipartFile;import org.apache.commons.fileupload.disk.DiskFileItem;CommonsMultipartFile cFile = (CommonsMultipartFile) mFile;        DiskFileItem fileItem = (DiskFileItem) cFile.getFileItem();        InputStream inputStream = fileItem.getInputStream();