GWT:如何将GAE Blob数据附加到新的PDF文件

时间:2015-02-13 05:10:37

标签: google-app-engine pdf gwt blob

我有一个存储在GAE服务器中的PDF文件,我想在客户端显示它。如何制作新的pdf文件?我试着这样做:

String str = toBase64(result.get(1));// result.get(1) has byte[] type
HeadElement headElement = Document.get().createHeadElement();
LinkElement link = Document.get().createLinkElement();
link.setType("application/pdf");
link.setHref("Content-Disposition\", \"attachment;filename=" +  str);
headElement.appendChild(link);

1 个答案:

答案 0 :(得分:2)

您无法在客户端上执行此操作。在客户端上,您只需显示类似

的链接
https://myapp.com/file?id=123

如果你按ids存储blob,或者你可以使用blob密钥等。在服务器端,你需要一个servlet /file,它将获取这个id或密钥,检索blob,并设置正确回复标题:

response.setHeader("Content-Disposition", "attachment;filename=" + "somename.pdf");
response.setContentType("application/pdf");
OutputStream outputStream = response.getOutputStream();
// document is byte[]
outputStream.write(document);
outputStream.close();

然后浏览器会知道传入的响应是PDF文件。因此它会询问用户将其保存在哪里。