如何在Spring中动态启用系统文件访问?

时间:2018-08-01 11:46:54

标签: java spring spring-mvc spring-boot web-applications

我有一个服务器端功能,可以产生输出文件。我的JSP轮询以查看输出是否可用(该过程已完成)。

一旦输出文件可用,则将其传递到一个文件夹,理想情况下,我希望可以通过URL模式对其进行访问。以同样的方式,我可以静态访问资源文件夹,我想要URL:

<host>/{appName}/files/{outputfilename}

如果文件保存在文件夹files/中,则返回文件。如果文件在部署之前可用并且包含在war文件中,那么从静态上看这不是问题。但是,如果在部署应用程序时将文件保存到文件夹中,可以使web app可以访问该文件吗?

如果是的话,最简单的处理方法是什么?还是我必须提出休息请求并从控制器中返回文件?

1 个答案:

答案 0 :(得分:1)

正如我所说,您可以为此使用nginx。但是请不要忘记,nginx不仅适用于此!

nginx配置示例:

server {

        listen 80;
        server_name example.test;

        root /your/directory/path/files;

        access_log /var/log/nginx/test_access.log;
        error_log /var/log/nginx/test_error.log;

        location ~ \.(js|html) {
            include cors.conf;
            try_files $uri =404;
        }


}

别忘了给nginx访问该目录:)