InputStream imps = pict.getBinaryStream();
ObjectInputStream ois = null;
ois = new ObjectInputStream(imps);
Img image = (Img)ois.readObject();
ois.close();
web-приложение, java, smartgwt, отображение изображений
Нашел гуглом пару строк приведения к смартгэвэтэшному типу Img
Код:
но на строчке ois = new ObjectInputStream(imps); вылетает invalid stream header: 89504E47.
подскажите, как можно отобразить картинки на клиенте.
Логично предположить, что этот вопрос надо было задавать в форуме посвященном Java -
Может я чегото недопонимаю, но вы помоему немножко путаете.
1. Тот код который ви привели это код серверный или клиентский?
2. ObjectInputStream используется для десериализации объектов. Сомниваюсь что такое будет поддержываться на клиентском коде. Посему смею предположыить что код серверсайдный.
3. Предполагаю что pict.getBinaryStream() содержит изображение, а не сериализированый джава-обьект. Отсюда и ексепшен.
4. Как я вижу с АПИ - Img есть класс клиентский и робота с ним должна быть в клиентском коде и етот код будет скомпилирован в джаваскрипт и должен будет выполнятся на клиенте.
На клиенте у вас не будет прямого доступа в БД. Соответственно чтоб загрузить изображение, которое хранится на сервере в БД в клиентский обект Img вам надо сделать на серверной тороне сервлет, который будет вычитывать изображения из БД и отправлять их в респонз (тоесть емитировать изображение), а объектам Img давать в конструкторе урлу на етот сервлет.
Может чего и напутал иза незнания СмартГВТ