【发布时间】:2011-01-29 03:08:42
【问题描述】:
所以我尝试从 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' 显示为 null,所以这让我相信来自输入流的数据不是有效的图像数据。
有没有人有这方面的经验并且可以指出正确的方向?
【问题讨论】:
-
您是否将文件类型设置为二进制?您是否能够成功获取数据但自己读取输入流?
标签: java ftp playframework javax.imageio apache-commons-net