使目录可访问以通过 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 获取其中的文件的主要内容,如果未能解决你的问题,请参考以下文章