не удается получить данные изображения в хранилище данных gwt google - изображение вытесняется

У меня есть класс, в котором я объявил сериализованный класс для хранения данных изображения

@Persistent(serialized = "true")
private DownloadableFile imageLogoFile;

Реализация класса

public class DownloadableFile implements Serializable {

общедоступный DownloadableFile (содержимое байта [], строка имени файла, строка mimeType) {super (); this.content = content; this.filename = имя файла; this.mimeType = mimeType; } частный статический окончательный длинный serialVersionUID = -8497358622042084708L; закрытый байт [] содержание; частное строковое имя файла; private String mimeType; общедоступный DownloadableFile () {}}

showlogo - это сервлет, который должен получать контент из хранилища данных, но все его вызовы возвращают значение null, тогда как blob-объект отображается в appwrench.

Место, где ожидается размещение данных изображения

final Image logoImage = new Image();
logoImage.setUrl("/showlogo");
logoImage.setHeight("100px");
logoImage.setWidth("100px");

Изменить: теперь данные изображения сохраняются и извлекаются, но изображение растягивается. Я пробовал указать высоту / ширину и т. Д.,

Код сервлета:

com.sms.DownloadableFile df = w.getImageLogoFile();
if (df != null){
    String filen = df.getFilename();
    response.setHeader("Content-Disposition", "filename="+filen);
    String mime = df.getMimeType();
    response.setContentType(mime);
    byte[] b = df.getContent();
    //Base64.encode(b);
    response.setContentLength(b.length);
    ServletOutputStream out = response.getOutputStream();
    out.write(b);
    // Pipe data here
    out.flush();
    out.close();
}

person dhaval    schedule 07.01.2010    source источник
comment
Почему это помечено как gwt? Я ничего не вижу в вашем вопросе о gwt.   -  person Peter Recore    schedule 08.01.2010
comment
вызов изображения исходит от модуля GWT. Обычный вызов localhost: 8080 / showlogo работает, но получает изображение 0 размера.   -  person dhaval    schedule 08.01.2010


Ответы (1)


и вы не поместили это поле в группу выборки, поэтому оно не извлекается.

person DataNucleus    schedule 07.01.2010
comment
Я не понимаю, о каком поле вы говорите. Сервлет имеет полный запрос на выборку содержимого. Прямой вызов сервлета работает, но возвращает изображение 0 размера. - person dhaval; 08.01.2010
comment
Вы упоминаете только одно поле (вашего класса). Тот, который сериализован (imageLogoFile). - person DataNucleus; 09.01.2010