そこで、FTPサイトから画像ファイルをダウンロードし、そこからメタデータを取得してから、Play!を使用してバイナリデータをWebページに返そうとしています。フレームワーク。これが私がコントローラーアクション内で使用している基本的なコードです(簡潔さのためにすべてのエラーチェックを削除しました):
FTPClient ftp = new FTPClient();
ftp.connect(site.host, site.port);
ftp.login(site.username, site.password);
InputStream is = ftp.retrieveFileStream("somefile.png");
Response.current().contentType = "image/png";
renderBinary(is);
入力ストリームの本当のタイプがSocketInputStreamであることを知っていますが、それを使用できるようにするために特別なことをする必要がありますか?
私もこれを試しました:
BufferedImage bimg = ImageIO.read(is);
しかし、「bimg」はnullとして出力されるため、入力ストリームからのデータは有効な画像データではないと私は信じています。
誰かがこれを行った経験があり、私を正しい方向に向けることができますか?