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と が返さUploadActionExceptionれますe.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 のアップロード サーブレット宣言に入れます。

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

次に、アップロードサーブレットで、で始まるパス文字列を作成します

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 に答える