1

我正在使用 GWT 小部件上传我的文件,我想将它们上传到 Ubuntu 服务器上的 tomcat 文件夹下,所以我需要在 web.xml 中为这段代码设置参数值:

<context-param> 
    <description>Location to store uploaded file</description> 
    <param-name>file-upload</param-name> 
    <param-value>
         ...
     </param-value> 
</context-param>

如果我尝试设置http://ip.ip.ip.ip:8080/var/lib/tomcat7它返回UploadActionExceptione.getMessage()="http://ip.ip.ip.ip:8080//var//lib//tomcat7". 似乎 Eclipse 尝试在我的 Window 文件系统中搜索此路径。有什么想法可以解决这个问题吗?谢谢。

4

1 回答 1

1

http://ip.ip.ip.ip:8080/var/lib/tomcat7与服务器上的 /var/lib/tomcat7 不同。要将其用作上传目录,请将此 init-param 放在 web.xml 中的上传 servlet 声明中

<context-param> 
    <description>Upload Directory</description> 
    <param-name>upload-directory</param-name> 
    <param-value>/var/lib/tomcat7</param-value> 
</context-param>

然后在上传 servlet 中构建一个以开头的路径字符串

String dirPath = getServletContext().getInitParameter("upload-directory"); 

然后将 FileItem 写入这样的文件

File file = new File( dirPath + "/" + fileItem.getName());
fileItem.write(file);

所有这些都需要整个目录 /var/lib/tomcat7 可以被任何运行 tomcat 的用户写入,这是一个坏主意。但是你现在有了。

于 2014-09-23T18:09:44.900 回答