1。必要なパッケージ:
1。Commons-Fileupload-1.2.1.jar:
アドレスをダウンロードしてください
http://commons.apache.org/downloads/download_fileupload.cgi
2。Commons-IO-1.4.jar:
アドレスをダウンロードしてください
http://commons.apache.org/downloads/download_io.cgi
2。注:
enctype = "multipart/form-data"はフォームに追加する必要があります
3。コードの例
1。JSPコード:
<%@ page Language = "Java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <! <html> <head> <Meta http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> upload </title> </head> <body> <form action = "uploadservlet" method = "post" incentype = "multipart/form-data"> <table> <td> name </td> <td> <入力タイプ= "Text" name = "name"> </td> </tr> <tr> <td> age </td> <td> <input type = "text" name = "age"> </td> </tr> <tr> <td>写真</td> <ファイル= </td> <td> </td> <td> <入力タイプ= "submit" value = "submit"> </td> </tr> </table> </form> </body> </html>
2。アップロードサーブレットコード
パッケージサーブレット; java.io.bufferedinputStreamをインポートします。 java.io.bufferedOutputStreamをインポートします。 java.io.fileをインポートします。 java.io.fileoutputStreamをインポートします。 java.io.ioexceptionをインポートします。 java.io.writerをインポートします。 java.util.iteratorをインポートします。 java.util.listをインポートします。 javax.servlet.servletexceptionをインポートします。 javax.servlet.http.httpservletをインポートします。 javax.servlet.http.httpservletrequestをインポートします。 javax.servlet.http.httpservletResponseをインポートします。 org.apache.commons.fileupload.fileitemをインポートします。 org.apache.commons.fileupload.fileuploadexceptionをインポートします。 org.apache.commons.fileupload.fileuploadexceptionをインポートします。 org.apache.commons.fileupload.disk.diskfileitemfactoryをインポートします。 Import org.apache.commons.fileupload.servlet.servletfileupload; Import org.apache.commons.fileupload.util.streams; / ** * servletのアップロード * @author lisanlai * */ public class uploadservlet extends httpservlet {private static final long serialversionuid = 1l; public uploadServlet(){super(); }保護されたvoid doget(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {this.dopost(request、response); } @suppresswarnings( "un -checked")保護されたvoid dopost(httpservletrequest request、httpservletresponse応答)Servletexception、ioexception {respons.setcontenttype( "text/html"); // binester characterがutf-8にエンコードを設定して、漢字がresponsedを表示するように設定します。 writer o = response.getWriter(); /** *最初に、フォームenctypeがMultipart/form-data *同時にあるかどうかを判断します。フォームの送信方法がpost *方法であるかどうかも決定します。 //ハードディスクファイルファクトリをインスタンス化して、アップロードコンポーネントServleTFileUpload DiskFileItemFactory = new DiskFileItemFactory(); //ファイルストレージ用に一時フォルダーを設定すると、このフォルダーは本当に存在する必要がありますfile filedir = new file( "../ webapps/fileupload/tmp/"); if(filedir.isdirectory()&& filedir.exists()== false){filedir.mkdir(); } factory.setrepository(filedir); //最大メモリを占領したFactory.SetsizethReshold(1024000)を設定します。 // servletfileupload object servletfileupload sfu = new servletfileupload(Factory); SFU.SETHEADERENCODING( "UTF-8"); //単一のファイルの最大値を設定しますsfu.setfilesizemax(102400000); //すべてのアップロードされたファイルの合計は、最大sfu.setsizemax(204800000)です。 List <FileItem> items = null; try {items = sfu.parserequest(request); } catch(sizelimitex ceededexception e){system.out.println( "ファイルサイズが最大値を超える"); } catch(fileuploadexception e){e.printstacktrace(); } // iterator <fileitem> iter = iter == null?null:items.iterator(); //画像アップロード後に保存されたパスディレクトリファイル画像= newファイル( "d:/upload/images/"); if(images.exists()== false){images.mkdirs(); } // iterationアイテムwhile(iter!= null && iter.hasnext()){fileitem item =(fileitem)iter.next(); //渡された場合は、通常のフォームフィールドの場合は(item.isformfield()){system.out.print( "通常のフォームフィールド:"); System.out.print(new String(item.getFieldName()) + ""); System.out.println(new String(item.getString( "utf-8"))); } //ファイルフィールドelse if(!item.isformfield()){system.out.println( "source picture:" + item.getname()); string filename = item.getName()。substring(item.getName()。lastIndexof( "//")); BufferedInputStream in = new BufferedInputStream(item.getInputStream()); //ファイルはd:/upload/imagesディレクトリに保存されます。このディレクトリには、bufferedoutputstream out = new bufferedoutputStream(new fileoutputStream(new file(images.getabsolutepath()+ filename)))も必要です。 streams.copy(in、out、true); o.write( "ファイルアップロード成功"); }}}} else {system.out.println( "form enctypeタイプエラー"); }}}}} 3。web.xml
<?xml version = "1.0" encoding = "utf-8"?> <web-app xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/nns/javaee xmlns:web = "http://java.sun.com/xml/ns/javaee" xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id = "webapp_id"バージョン= "2.5" <welcome-file> upload.jsp </welcome-file> </welcome-file-list> <servlet> <description> </display-name> uploadservlet </displayservlet </display-name> upload-servlet </servlet-name> <servlet-class> servlet.uploadservlet </servlet-> <servlet mapping> <servlet-name> uploadservlet </servlet-name> <url-pattern>/uploadservlet </url-pattern> </servlet-mapping> </web-app>
この記事は「Javaアップロード操作技術の要約」にまとめられており、誰もが学習して読むことを歓迎します。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。