java - 从jetty中运行的Web应用程序访问本地目录图像

标签 java jsp servlets jetty

我的网络应用程序是使用 jsp/javascript 编写的。后端Java。已设法实现在 Web 应用程序外部保存图像的代码,因为我不想将图像保存在 webapp/images 文件夹中(因为当服务器关闭并重建应用程序时,我会丢失那些保存的图像)。我想要的是从我的网络应用程序再次访问我保存在本地目录中的那些图像,但我不知道如何操作。我如何从jetty服务器访问我的本地文件夹,并且jetty服务器运行在同一台本地计算机上...

最佳答案

获取/image的路径来存储和读取文件

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);
    }

另请参阅

关于java - 从jetty中运行的Web应用程序访问本地目录图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11131675/

相关文章:

java - 如何将随机查询参数添加到操作的成功响应中

java - 如何测试 <c :if> jSTL 中的多个条件

java - 无法将jsp中的对象转换为java对象

java - 防止表单重新提交并在页面刷新时插入数据库

java - 转换错误

java - Android Studio - 查找壁纸中最主要的颜色

java - 如何使用 webpack js 文件从 Nashorn 调用方法?

java - 为什么发送 POST 请求和接收请求之间的字符编码不匹配?

javascript - 为什么我的 jQuery 不适用于通过 ajax 加载的元素?

java - 在 tomcat 服务器中添加 Profiler 脚本