使用Wildfly服务器的HTTP访问文件

时间:2015-12-16 11:14:08

标签: http download wildfly wildfly-9

我正面临与Wildfly(JBoss)中通过HTTP进行文件访问相关的问题。 我正在Wildlfy-9.0.1.Final上运行一个应用程序

在我的应用程序中有一个点击链接,它应该打开相应的文件并显示其内容。但是当我点击链接时,它会给我404-Not found错误。

我可以看到该文件存在于锚标记中href中给出的相同路径上。我不明白它给404错误做了什么。

我是否需要在Wildfly中启用任何其他设置来通过HTTP访问文件。如果是,请咨询。

修改

<handlers>中的路径如下所示

路径=&#34;在/ usr /本地/的JBoss /服务器/默认/部署/&#34;

此目录结构尚未完成,因为在运行时将使用实际文件所在的Java代码动态附加更多路径。

例如:path="/usr/local/jboss/server/default/deploy/demo/1/filename"

其中 / usr / local / jboss / server / default / deploy / 是静态路径, demo / 1 / filename 是动态的。

同样位于/directory-listing-uri location中的某个路径是在调试时动态生成的。

对于前: 以下假设为directory-listing-uri

http://[wildfly host]:[port]/{static}/{dynamic}/{dynamic}/{dynamicFileName}.iif

所以我不确定wildfly将如何满足我显示文件的目的。

如果我不正确,请更正。

1 个答案:

答案 0 :(得分:5)

要公开文件列表(和下载)的目录,您可以在standalone.xml配置中添加两个配置元素(如果您将wildfly作为独立服务器运行),如下所示:

<subsystem xmlns="urn:jboss:domain:undertow:2.0">
     ...
     <server name="default-server">
         ...
         <host name="default-host" alias="localhost">
             ...
             <location name="/directory-listing-uri" handler="directory-listing-handler"/>
             ...
         </host>
         ...
     </server>
     ...
     <handlers>
         ...
         <file name="directory-listing-handler" path="/home/example/..." directory-listing="true"/>
     </handlers>
     ...
</subsystem>

注意:对于jboss-cli配置,您可以查看this answer

然后,您将在此位置获得一个漂亮的目录列表GUI:

http://[wildfly host]:[port]/directory-listing-uri