我有一个类,我在其中声明了一个序列化类来存储图像数据
@Persistent(serialized = "true") private DownloadableFile imageLogoFile;
类的实现
public class DownloadableFile implements Serializable {
public DownloadableFile(byte[] content, String filename, String mimeType) { super(); this.content = 内容;this.filename = 文件名;这个.mimeType = mimeType; } 私有静态最终长序列版本UID = -8497358622042084708L; 私有字节[] 内容;私有字符串文件名;私有字符串 mimeType;公共可下载文件(){}}
showlogo 是一个 servlet,它应该从数据存储中获取内容,但它的所有调用都返回 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();
}