Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jsp或javascript在服务器上的浏览器中显示pdf_Javascript_Java - Fatal编程技术网

如何使用jsp或javascript在服务器上的浏览器中显示pdf

如何使用jsp或javascript在服务器上的浏览器中显示pdf,javascript,java,Javascript,Java,我是javascript新手,我有一个要求,我需要点击服务器上的提交按钮打开pdf文件。我还需要将它重定向到新的jsp。我尝试使用window.open,但它没有打开,因为它无法从服务器位置获取文件。a href也不起作用。你能推荐我吗。有不同的方法,如果你使用servlet,你可以将正确的MIME类型写入响应,并将PDF写入servlet流 比如: protected void doGet(HttpServletRequest request, HttpServletResponse resp

我是javascript新手,我有一个要求,我需要点击服务器上的提交按钮打开pdf文件。我还需要将它重定向到新的jsp。我尝试使用window.open,但它没有打开,因为它无法从服务器位置获取文件。a href也不起作用。你能推荐我吗。

有不同的方法,如果你使用servlet,你可以将正确的MIME类型写入响应,并将PDF写入servlet流

比如:

protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("application/pdf;charset=UTF-8");

    response.addHeader("Content-Disposition", "inline; filename=" + "cities.pdf");
    ServletOutputStream out = response.getOutputStream();

    InputStream inputStream = null;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {

        inputStream = new FileInputStream("sourcePath_of_pdf.pdf");

        byte[] buffer = new byte[1024];
        baos = new ByteArrayOutputStream();

        int bytesRead;
        while ((bytesRead = inputStream.read(buffer)) != -1) {
            baos.write(buffer, 0, bytesRead);
        }

    } catch (FileNotFoundException e) {
            e.printStackTrace();
    }

    baos.writeTo(out);
}

看看这个答案:为什么你不能使用href,将你的PDF位置提供给href,它会起作用,但你的网站应该可以访问该PDF链接。@lakshithamadushan因为它是一个服务器位置,所以不能作为href提供。例如:雄猫\\temp@AmerFarooq我试过了,但没有成功感谢上面的一个,它正在成功