0

画像を db2 データベースにアップロードしようとしています。必要なライブラリをコピーし db2jcc.jarましたweb-inf/lib

<form action="Upload" method="post" enctype="multipart/form-data">
ID : <input type="text" name="id"/><br>
FILE : <input type="file" name="photo"/><br>
<input type="submit" value="upload"/>
</form> 

私のアップローダーサーブレットは

try {
        String id=request.getParameter("id");
        Part photo =  request.getPart("photo");
        try
        {
            Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
            Connection con=DriverManager.getConnection("jdbc:db2:SAMPLEDB");
            System.out.println("Connection Successful");
            PreparedStatement ps=con.prepareStatement("INSERT INTO SAMPLETABLE (ID,PHOTO) VALUES (?,?)");  
            ps.setString(1, id);
            File fBlob = new File ( request.getParameter("photo") );  //exception thrown here
            FileInputStream is = new FileInputStream ( fBlob );  
            ps.setBinaryStream (2, is, (int) fBlob.length() );  
            ps.execute ();  

        }
        catch(Exception e)
        {
            System.out.println("exception --> "+e);
        }
    }
    finally
    {
        out.close();
    }
}

私が得ている例外は

java.lang.NullPointerException
4

1 に答える 1

1

request.getParameter() とそれに関連するメソッドはマルチパート リクエストでは機能せず、マルチパート フォーム データを処理する場合は常に null を返します。

Java でのファイルのアップロードについては、 https ://www.coderanch.com/how-to/java/FileUpload を参照してください。

さらに良い解決策があります: http://www.roseindia.net/jsp/file_upload/Sinle_upload.xhtml.shtml

于 2013-03-17T20:41:45.797 に答える