メモリ内のMultipartFile
をFileInputStream
に変換するにはどうすればよいですか?
私は以下を試しましたが、私はエラーに直面しています
org.springframework.web.multipart.commons.CommonsMultipartFileをJava.io.Fileにキャストできない
私のコードは
FileInputStream fis = new FileInputStream((File)file);
ここで、fileはマルチパートファイルです。
ファイルがファイルシステム上にない場合を除き、FileInputStreamのインスタンスを作成することはできません。
最初にマルチパートファイルをサーバー上の一時的な場所に保存する必要があります。
file.transferTo(tempFile);
InputStream stream = new FileInputStream(tempFile);
ただし、マルチパートファイルは、次のような基本的なストリームメソッドを介して単純に読み取ることもできます。
InputStream inputStream = new BufferedInputStream(file.getInputStream());
MultipartFile を見てください
それであなたは行くことができます:
void transferTo(File dest)
このメソッドは、受信したファイルを指定された宛先ファイルに転送します。
マルチパートファイルを入力ストリームに変換するには
MultipartFile file;
InputStream inputStream = new InputStream(file.getInputStream());
これでうまくいきました。
使用してみてください:
MultipartFile uploadedFile = ((MultipartHttpServletRequest)request).getFile('file_name')
InputStream inputStream = new ByteArrayInputStream(uploadedFile?.getBytes())