2016-07-30 6 views
0

java.lang.IllegalStateException:Request.getPartはマルチパート構成なしで呼び出されます。どちらのサーブレットに@MultipartConfigを追加、またはマルチパート-config要素は、web.xmlにRequest.getPartはマルチパートjspなしで呼び出されます

私は私のプロジェクトに画像を追加しようとすると、上記のこのエラーを取得しています

MY HTMLである

<form action="../include/crud.jsp" method="POST"> 
    <input type='file' onchange="readURL(this);" style="display:none;" name="photo" /> 
</form> 

私crud.jspは目を取り除くためにどのように

<%@page import="java.text.DateFormat"%> 
<%@page import="java.text.SimpleDateFormat"%> 
<%@page import="java.sql.PreparedStatement"%> 
<%@ include file="dbconfig.jsp" %> 
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %> 
<%@ page import="javax.swing.*" %> 
<%@page 
    import="org.apache.commons.fileupload.FileItem" 
    import="org.apache.commons.fileupload.FileUploadException" 
    import="org.apache.commons.fileupload.disk.DiskFileItemFactory" 
    import="org.apache.commons.fileupload.servlet.ServletFileUpload" 


    %> 

<% 

    Part filePart = request.getPart("photo"); // Retrieves <input type="file" name="file"> 
    String fileName = filePart.getSubmittedFileName(); 
    InputStream fileContent = filePart.getInputStream(); 

    try { 
     conn.setAutoCommit(false); 
     PreparedStatement preparedStatement = null; 



     String act = request.getParameter("btncrud"); 
     if (act == null) { 
      //no button has been selected 
     } else if (act.equals("Add")) { 
      //Add button was pressed 


      String add_disbursement = "INSERT INTO photo_table " 
           + "(ri_photo,ri_photo_name)" 
           + " VALUES (?,?)"; 

      preparedStatement.setBlob(1,fileContent); 
      preparedStatement.setString(2,fileName); 

      preparedStatement.executeUpdate(); 

     } else if (act.equals("Update")) { 
      //update button was pressed 

     } else { 
      //someone has altered the HTML and sent a different value! 

     }   
%> 
  1. ですメディアブロブとしてデータベースに写真ファイルを保存する方法Eエラー

FYI

ri_photoはタイプMEDIUMBLOBである

UPDATE

cos-multipart.jarimport=" com.oreilly.servlet.MultipartRequest"まだ同じエラーを追加しました

@MultipartConfigをJSPページに追加する

答えて

0

この例外は、要求本体のサイズがデフォルトより大きい場合に発生します。

カスタムサイズ、またはデフォルトより大きいをしたい場合、あなたは以下参照できるのweb.xml でマルチパート・コンフィグ設定を上書きする必要があります。

<multipart-config> 
    <max-file-size>*size in bytes*</max-file-size> 
    <max-request-size>*size in bytes*</max-request-size> 
    <file-size-threshold>*size in bytes*</file-size-threshold> 
</multipart-config> 
+0

が自動生成されたweb.xml'ファイル 'です私は 'web \ WEB-INF'でそれを探しますlibのフォルダ以外は何もありません –

+1

私はJSPの代わりにサーブレットのJavaファイルに行くことをお勧めします。あなたのcrud.jspにhtmlコードのように、web.xmlなしでjavaファイルに@MultipartConfigを指定することができます。そして、あなたのアプリケーションはweb.xmlを必要とするServelt仕様、またはjavaサーブレットコードの関連注釈にも準拠します。 – vvtx

関連する問題