我在我的应用程序中使用GWT2.4版本。在这个我的应用程序中,我使用GWT控件创建了Form(如textbox,textaera)。
我也创建了表单的预览。在那个预览中我有pdf生成的按钮。 现在我想创建与浏览器(Mozilla / chrome)相同的处理pdf链接的行为。 例如,在Mozilla点击pdf链接时,它会在弹出窗口中要求保存或打开。
在调试时我发现了一个可以用来创建pdf的jar名称iText,我也希望在这里实现浏览器行为。 请帮帮我。 提前致谢。
答案 0 :(得分:2)
将文件内容读入字节数组。
然后请求servlet或service,例如。这样:
Window.Location.replace("rest/downloadPdf");
该服务应返回具有正确内容类型的响应:
@Path("downloadPdf")
@GET
@Produces({"application/pdf"})
@Consumes(MediaType.TEXT_PLAIN)
public Response downloadPdf() throws Exception {
byte[] bytes = getYourPDFContents();
return Response
.ok(bytes, MediaType.APPLICATION_OCTET_STREAM)
.header("Content-Disposition", "attachment; filename=\"yourFile.pdf\"")
.build();
}
然后,浏览器将显示另存为对话框。
这是Service的例子,您必须在项目中包含Jersey库才能使用我上面写的方法。