MultipartFileからFile式のinputStreamを取得
1531 ワード
Springmvcから取得したファイルはMultipartFileタイプで、poiのWorkbookを初期化するなど、このタイプから取得したinputstreamで直接操作できない場合があります.この場合、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();