Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
Java 从jetty中运行的web应用访问本地目录映像_Java_Jsp_Servlets_Jetty - Fatal编程技术网

Java 从jetty中运行的web应用访问本地目录映像

Java 从jetty中运行的web应用访问本地目录映像,java,jsp,servlets,jetty,Java,Jsp,Servlets,Jetty,我的web应用程序是使用jsp/javascripts编写的。后端Java。我已成功实现在webapplication外部保存图像的代码,因为我不想将图像保存在webapp/images文件夹中(因为当服务器关闭并重建应用程序时,我会丢失保存的图像)。我想要的是再次从我的web应用程序访问我保存在本地目录中的图像,但我不知道如何访问。如果jetty server正在同一台本地计算机上运行,如何从jetty server访问本地文件夹…获取存储和读取文件的路径 getServletContext(

我的web应用程序是使用jsp/javascripts编写的。后端Java。我已成功实现在webapplication外部保存图像的代码,因为我不想将图像保存在webapp/images文件夹中(因为当服务器关闭并重建应用程序时,我会丢失保存的图像)。我想要的是再次从我的web应用程序访问我保存在本地目录中的图像,但我不知道如何访问。如果jetty server正在同一台本地计算机上运行,如何从jetty server访问本地文件夹…

获取存储和读取文件的路径

getServletContext().getRealPath("/images");
甚至可以从servlet的外部位置读取文件

    File image = new File("d:\\image\1.jpg");
    response.setBufferSize(DEFAULT_BUFFER_SIZE);
    response.setContentType(contentType);
    response.setHeader("Content-Length", String.valueOf(image.length()));
    response.setHeader("Content-Disposition", "inline; filename=\"" + image.getName() + "\"");

    BufferedInputStream input = null;
    BufferedOutputStream output = null;

    try {
        // Open streams.
        input = new BufferedInputStream(new FileInputStream(image), DEFAULT_BUFFER_SIZE);
        output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);

        // Write file contents to response.
        byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
        int length;
        while ((length = input.read(buffer)) > 0) {
            output.write(buffer, 0, length);
        }
    } finally {
        // Gently close streams.
        close(output);
        close(input);
    }
另请参见


假设我的映像位于D:/images文件夹,并且我在同一台机器上运行jetty server。如何访问本地文件夹(D:/images)?