所以我试图从 FTP 站点下载图像文件,从中获取一些元数据,然后使用 Play! 将二进制数据返回到网页!框架。这是我在控制器操作中使用的基本代码(为简洁起见,删除了所有错误检查):
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”显示为空,所以这让我相信输入流中的数据不是有效的图像数据。
有没有人有这样做的经验并且可以指出我正确的方向?