使目录可访问以通过 url 获取其中的文件

Posted

技术标签:

【中文标题】使目录可访问以通过 url 获取其中的文件【英文标题】:Making a directory accessible to get files in it through url 【发布时间】:2016-03-19 14:38:28 【问题描述】:

我有一个包含图像的目录。图像在运行时随时添加到其中。我想通过一些 url 使这些文件可见。

我试图把这个目录放在wildfly webapp 目录中。但是在运行时添加的图像是不可见的。

如何使该目录可访问。

【问题讨论】:

你可以在这个链接how-can-i-serve-static-resources-from-outside-a-war-on-wildfly找到详细的答案。 【参考方案1】:

您可以在 undertow 子系统中添加文件处理程序并将其映射到 URL。在 CLI 中,您将执行类似于以下命令的内容。

/subsystem=undertow/configuration=handler/file=images:add(directory-listing=true, follow-symlink=true, path=/path/to/image/directory)
/subsystem=undertow/server=default-server/host=default-host/location=\/images:add(handler=images)

这将列出localhost:8080/images 上的所有图像。您可以关闭目录列表和/或使用完整的图片 URL 来查看特定图片。

【讨论】:

【参考方案2】:

在您的deployments 中,使用.war 扩展名创建一个新目录,如下所示:

$WILDFLY_HOME/standalone/deployments/images.war/

这是一个“爆炸式”部署,添加的任何新图像都可以通过以下方式访问:

http://localhost:8080/images/

【讨论】:

那么我将无法通过servlet等动态添加图像... 为什么不呢?只需写入该目录即可。如果您的服务器是 *nix,则使用符号链接。

以上是关于使目录可访问以通过 url 获取其中的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何通过url方式从自己的服务器上下载文件?

Node访问服务器端静态资源

Node访问服务器端静态资源

每个人都可以通过 URL 访问 rails 公用文件夹吗?

如何防止通过url地址栏直接访问后台

asp怎样实现用户只能通过点击访问某个页面,而不能通过输入URL地址访问。