1

Commons FileUpload を使用すると、メソッド parseRequest(request) がファイルをアップロードし、追加の投稿パラメーターも読み取ります。そのため、ファイルをアップロードした後にのみパラメーター値を取得できます。問題は、ファイルをアップロードする前にこれらのパラメーター値が必要なことです (パラメーターの 1 つは upload_path です)。

最初にマルチパート コンテンツから投稿パラメーターを取得してから、正しいフォルダーへのアップロードを開始する方法はありますか?

(request.getParameter(name) は、マルチパート コンテンツに対して null を返します)。

前もって感謝します!

4

1 に答える 1

1

これは私にとってはうまくいきます。最初のパスですべてのパラメーターをチェックし、その後、フォーム以外のフィールドをダウンロードします。

ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator( request );

while ( iter.hasNext() ) {
    FileItemStream item = iter.next();
    String name = item.getFieldName();
    InputStream stream = item.openStream();

    if ( item.isFormField() ) {
        byte[] buffer = new byte[ 128 ];
        int len = stream.read( buffer );
        String value = new String( buffer, 0,len );
        if ( name.equals( "name" ) ) {
            filename  = value;
        }
        System.err.println( "Form field " + name + " with value " + value + " detected." );
        stream.close();
    }
}
于 2010-06-25T08:43:22.680 に答える