我有一个存储在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);
答案 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文件。因此它会询问用户将其保存在哪里。