Итак, я пытаюсь загрузить файл изображения с 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» выходит как ноль, так что это заставляет меня поверить, что данные извходной поток не является действительными данными изображения.
У кого-нибудь есть опыт в этом деле, и он может указать мне правильное направление?