2

実際にファイルを使用してPOSTメソッドを使用して画像をアップロードするためのjspページを作成しましたが、com.oreilly.servlet.multipart.MultipartParserファイルは正常にアップロードされ、値も正しく取得されますが、例外がスローされます

java.io.IOException: Posted content type isn't multipart/form-data 
MultipartParser mp = null;
try{
 mp = new MultipartParser(request, 1*1024*1024); // 10MB
 }
 catch(Exception e){
 out.println("Exception1:"+e);
 }
while ((part = mp.readNextPart()) != null) {
        name = part.getName();
        if (part.isParam()) {
            ParamPart paramPart = (ParamPart) part;
            value = paramPart.getStringValue();
            if(name.equals("companyname") && value != null){                

            }

            if(name.equals("version") && value != null && name != null){

            }

        }
        else if (part.isFile()) {
            String getimagelogovalue="";
            FilePart filePart = (FilePart) part;
            String fileName = filePart.getFileName();
            if (fileName != null) {

            }
            else {}
            out.flush();
        }
    }   
4

3 に答える 3

2

あなたが持っている:

mp = new MultipartParser(request, 1*1024*1024); // 10MB

しかし、私の計算では、実際には 1Mb しかありません。アップロードしようとしている画像は実際には大きすぎますか? 小さい画像を試すか、コメントを修正するか、コードを修正してください。

于 2012-11-15T10:47:11.120 に答える
2

ここに書き込んだコードはサーバー側のコードだと思います。ポストフォーム JSP を実行していると仮定すると、コードは次のようになります。

<FORM action="http://server.com/cgi/handle"
       enctype="multipart/form-data"
       method="post">
   <P>
   What is your name? <INPUT type="text" name="submit-name"><BR>
   What files are you sending? <INPUT type="file" name="files"><BR>
   <INPUT type="submit" value="Send"> <INPUT type="reset">
 </FORM>

enctype 属性を参照してください。また、クライアント側 (JSP) のコードを確認できますか?

コード スニペットは http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2から取得されます。

于 2012-11-15T10:52:07.170 に答える
1

私はちょうど変更しました

enctype="multipart/form-data"

ENCTYPE="multipart/form-data"

フォームタグで

例外は解決され、フォームタグは以下にあります

 <form method="POST"  name="form1"  action="1StudentDVerify.jsp" ENCTYPE="multipart/form-data">


</form>
于 2019-11-29T07:33:42.557 に答える