从html页面下载文件无效

时间:2016-01-21 19:50:49

标签: java html5 servlets jboss

我在 Jboss 7 上传了新应用。

该应用程序,其他东西,可以创建文件,保存并快速下载html5标记。 生成后,文件将保存在我获得的绝对路径上 getServletContext().getRealPath("/");

通过服务器日志,我可以看出这些操作完美无缺。 该文件已创建并保存。 问题在于下载部分。

我正在尝试使用html5标记下载该文件。 <a href=path+file name> download>Get Numbers!</a>

我使用的路径与用于在服务器上保存文件的路径完全相同,但我仍然从Chrome中收到fail-no file错误。

想法?

1 个答案:

答案 0 :(得分:0)

  

我使用的路径与用于在服务器上保存文件的路径完全相同

有问题。您的文件路径是这样的:

/opt/repo/versions/7.1/standalone/tmp/vfs/tempc56e386fb58c08a8/SlL.war-269‌​016b5c31c942c/serial.xls

从文件系统获取文件时,服务器上的很好。但是这条路径对网络浏览器毫无意义。 Web浏览器正在向Web服务器请求Web服务器已知的文件

因此,例如,如果您的Web服务器根位于此处:

/opt/mywebserver

然后该路径最终请求:

/opt/webserver/opt/repo/versions/7.1/standalone/tmp/vfs/tempc56e386fb58c08a8/SlL.war-269‌​016b5c31c942c/serial.xls

该文件不存在,因此Web服务器响应404错误。

您需要将文件系统路径转换为 URL ,才能在标记中使用它。 (并且该路径需要在Web服务器中公开显示,在其自己的路径结构中。)