我在 Jboss 7 上传了新应用。
该应用程序,其他东西,可以创建文件,保存并快速下载html5
标记。
生成后,文件将保存在我获得的绝对路径上
getServletContext().getRealPath("/");
通过服务器日志,我可以看出这些操作完美无缺。 该文件已创建并保存。 问题在于下载部分。
我正在尝试使用html5标记下载该文件。
<a href=path+file name> download>Get Numbers!</a>
我使用的路径与用于在服务器上保存文件的路径完全相同,但我仍然从Chrome中收到fail-no file
错误。
想法?
答案 0 :(得分:0)
我使用的路径与用于在服务器上保存文件的路径完全相同
有问题。您的文件路径是这样的:
/opt/repo/versions/7.1/standalone/tmp/vfs/tempc56e386fb58c08a8/SlL.war-269016b5c31c942c/serial.xls
从文件系统获取文件时,服务器上的很好。但是这条路径对网络浏览器毫无意义。 Web浏览器正在向Web服务器请求Web服务器已知的文件。
因此,例如,如果您的Web服务器根位于此处:
/opt/mywebserver
然后该路径最终请求:
/opt/webserver/opt/repo/versions/7.1/standalone/tmp/vfs/tempc56e386fb58c08a8/SlL.war-269016b5c31c942c/serial.xls
该文件不存在,因此Web服务器响应404错误。
您需要将文件系统路径转换为 URL ,才能在标记中使用它。 (并且该路径需要在Web服务器中公开显示,在其自己的路径结构中。)