Java 如何将一个PDF文件(OutputStream)从servlet发送到ajax响应以在浏览器中打开?

Java 如何将一个PDF文件(OutputStream)从servlet发送到ajax响应以在浏览器中打开?,java,ajax,servlets,dynamic-reports,Java,Ajax,Servlets,Dynamic Reports,我正在使用ajax向我的servlet发送请求以生成报告 报告正在生成,但我想在浏览器中显示它 这是我的ajax请求代码 $.post('servleturl',{ from : from, to : to },function(data){ // What should I write here in order to display report in browser }); 我的se

我正在使用ajax向我的servlet发送请求以生成报告

报告正在生成,但我想在浏览器中显示它

这是我的ajax请求代码

$.post('servleturl',{
            from : from,
            to : to
        },function(data){
            // What should I write here in order to display report in browser

        });
我的servlet代码

OutputStream outputstream = response.getOutputStream();

//This line converts the report to PDF
report.toPdf(outputstream);
outputstream.close();

//Converting the outputstream to JSON to pass as response

                    json = new Gson().toJson(outputstream);            
                    response.setContentType("application/json");
                    response.getWriter().write(json);

您的问题是返回序列化为JSON的PDF,而不是实际的文件字节。是否要在当前视图中渲染浏览器?如果是这样的话,您可以查看其中一个JavaScript库,否则您可以生成PDF,将其保存在服务器上的某个位置,并返回JavaScript的路径,该路径将作为页面上的链接呈现。选项很少,这取决于您希望它如何准确工作。不要将PDF之类的二进制文件封装在JSON中。只需将其作为二进制流发送到客户端。是否有人能给出通过ajax在浏览器中打开文件的示例或示例代码?