2014-09-23 186 views
1

我正在使用GWT widget來上傳我的文件,我想將它們上傳到Ubuntu服務器上的tomcat文件夾下,所以我需要設置這個塊的參數值代碼在web.xml:如何在ubuntu服務器上設置gwt上傳的路徑

<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文件系統中搜索這個路徑。任何想法來解決這個問題?謝謝。

+0

什麼是您的servlet配置?你正在使用哪個servlet類? – 2014-09-23 17:59:29

+0

我使用這個教程[鏈接] http://simplygwt.blogspot.it/2011/09/gwt-upload.html @ManoloCarrascoMoñino – django 2014-09-24 07:39:26

+0

你可以發佈你的'executeAction'實現的代碼,你將文件保存在somwhere中,而你想用來獲取這些文件的代碼? – 2014-09-24 08:48:10

回答

1

http://ip.ip.ip.ip:8080/var/lib/tomcat7與服務器上的/ var/lib/tomcat7不是一回事。 要使用的上傳目錄把這個初始化-PARAM中上傳的servlet聲明在web.xml

<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下運行可寫這是一個壞主意。但是你現在有了。

+0

如果我使用*/var/lib/tomcat7 *,它將在我的Window文件系統中創建C:// var/lib/tomcat7下的文件夾。 Tomcat在另一個ip unbuntu服務器上,而不是在我的電腦上。 – django 2014-09-24 07:49:23

+0

感謝@bhowden,我沒有在這個文件夾下的權限,這是寫在那裏的壞主意!無論如何,問題是,從窗口的路徑是錯誤的,它只在webapp部署在Ubuntu下時才運行。 – django 2014-09-24 16:46:15

相關問題