要使 Java Web 应用程序(使用 Spring + Wicket 开发)接受客户端文件上传到服务器上的特定目录,需要执行哪些步骤。
在谷歌搜索这个问题的答案时,我看到建议 /WEB-INF/some-directory 应该用作上传位置?
这是最佳实践的原因吗?
Web 应用程序可以写入该位置吗?
当部署新版本的 Web 应用程序时,此位置会发生什么情况?
可以/应该使用任何其他目录吗?
Thanks
使用WEB-INF子目录的两个可能原因:
通过 HTTP 不可见
您的应用程序通常对其具有写访问权限
我宁愿建议使用可配置的外部目录(例如在上下文参数或应用程序配置文件中配置);这样您就可以对目录的权限进行细粒度的控制。
AFAIK,Wicket 中的文件上传由文件上传字段 http://wicket.apache.org/apidocs/1.4/org/apache/wicket/markup/html/form/upload/FileUploadField.html组件,它给你一个上传文件 http://wicket.apache.org/apidocs/1.4/org/apache/wicket/markup/html/form/upload/FileUpload.html反对你可以writeTo http://wicket.apache.org/apidocs/1.4/org/apache/wicket/markup/html/form/upload/FileUpload.html#writeTo%28java.io.File%29您服务器上的一个文件。
您可能还想配置/检查要接受的文件的最大大小。在 Tomcat 中,这是通过 Connector 的 maxPostSize 属性完成的(请参阅HTTP 连接器 http://tomcat.apache.org/tomcat-5.5-doc/config/http.html)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)