0

マルチパート ファイル アップロード フォームでの作業。サーブレット 3.0 で Java を使用します。マルチパートのようですが、送信ボタンの値がサーバーに渡されていませんか?

例えば

<form method="POST" enctype="multipart/form-data" action="/servlet">
    <input type="hidden" name="mode"   value="image">
    <input type="hidden" name="id"     value="123"> 
    <input type="file"   name="file" id="file">
    <input type="submit" name="action" value="Upload">
    <input type="submit" name="action" value="Delete">
</form>

通常の投稿では、「アクション」パラメーターの値を確認するだけです。マルチパート形式でこれにどのようにアクセスしますか? リクエストのパーツを調べてみましたが、そこにありません。

例えば

Collection<Part> parts = request.getParts();
System.out.println("parts: "+parts.size());
for(Part part : parts){
    System.out.println(part.getName());
}

出力:

parts: 3
mode
id
file

のように...

    String mode = request.getParameter("mode"); //reads "image"
    String id   = request.getParameter("id");   //read "123"
    String action = request.getParameter("action"); //reads null

これをどのように解決しますか?

4

2 に答える 2

2

Javascript を使用して、送信する前に、隠しフィールドを宣言し、クリックされた [送信] ボタンに基づいてその値を設定します。

<input type="hidden" name="submitType" value=""> 
于 2013-03-18T03:21:35.697 に答える
1

最初にマルチパートjarファイルをプログラムにインポートして
から、フォームからマルチパートデータにアクセスするためにmultipartrequestクラスを使用してみてください-

MultipartRequest mpr=new MultipartRequest(request,"C:");
String ad=mpr.getParameter("made");                    // read "image"
String ad=mpr.getParameter("id");                    // read "123"
String ad=mpr.getParameter("action");    // if u submit from from upload then it read "upload" or submit from delete then it read "delete" String .
于 2013-03-24T17:37:57.197 に答える