2010-01-07 4 views
0

이미지 데이터를 저장하기 위해 직렬화 된 클래스를 해독 한 클래스가 있습니다.Google 데이터 스토어에서 이미지 데이터를 가져올 수 없습니다. 이미지가 늘어납니다.

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

클래스의 구현

public DownloadableFile (byte [] content, String filename, String mimeType) { super(); this.content = content; this.filename = filename; this.mimeType = mimeType; } 개인 static final long serialVersionUID = -8497358622042084708L; 개인 바이트 [] 콘텐츠; 전용 문자열 파일 이름; 전용 문자열 mimeType; public 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(); 
} 
+0

왜 태그가 붙었습니까? 나는 너의 질문에 대해 아무 것도 안 보인다. –

+0

이미지 호출이 GWT 모듈에서 발생했습니다. localhost : 8080/showlogo에 대한 정상적인 호출은 작동하지만 0 크기 이미지를 반입합니다. – dhaval

답변

1

을하고 인출되지 않도록 당신은 가져 오기 그룹에서 해당 필드를 두지 않았다.

+0

나는 당신이 어떤 분야를 언급하는지 보지 못한다. 서블릿에는 컨텐츠를 가져 오기위한 전체 쿼리가 있습니다. 서블릿에 대한 직접 호출은 작동하지만 0 크기 이미지를 반환합니다. – dhaval

+0

클래스의 한 필드 만 언급합니다. 직렬화 된 것 (imageLogoFile). – DataNucleus