这是我所知道的:


上传用户提供的文件时,应将其放在文件夹中
在部署文件夹之外。我称它为D:\ uploads。
我们应该(以某种方式)将该文件夹(D:\ uploads)添加为Web应用程序上下文。


这是我所做的:


我将文件上传到文件夹D:\ uploads。
我尝试通过将以下行添加到TOMCAT_DIR / conf / server.xml中来添加提到的here的Web应用程序上下文:


    <Context docBase="D:\uploads" path="/uploads"/>




但这没有任何效果。当咨询http://localhost:8080/uploads/file.pnghttp://localhost:8080/uploads时,出现HTTP Status 404错误。

所以我想知道:


我做错了什么 ?如何将上传文件夹添加到Tomcat?
有没有更好的上传文件方法?
因为我想知道如果要部署我的我应该改变什么
应用程序到没有D:\ uploads的另一台服务器。

最佳答案

更改docBase属性。使用D:/uploads(带斜杠)而不是D:\uploads(带反斜杠)。

使用Java处理文件时,可以在所有平台上安全地使用/(斜杠,而不是反斜杠)。



关于从IDE和bin/startup.bat启动Tomcat时在注释中提到的差异:从IDE启动Tomcat的可能性很大,它没有使用与Tomcat相同的context.xml。只需在IDE中查看Tomcat设置即可。



如何存储上传的文件是Stack Overflow的常见主题。环顾四周,您会惊讶于该主题的受欢迎程度。

如果您不满意将文件存储在D:/uploads中,或者将有其他服务器访问这些文件,则可以考虑将它们存储在网络中的某个位置。根据您的要求,您可以使用一台专用服务器来存储文件,或者仅共享当前服务器中包含文件的文件夹。正确的决定将始终取决于您的要求。

关于eclipse - conf/server.xml中的更改似乎在运行时没有任何作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34699738/

10-10 05:53