ファイルアップロードプログラム


Jakarta Commonsライブラリを使うことでファイルアップロードサイトを簡単に作ることができる.

1.Jakarta CommonsのfileuploadクラスをGet!する.
2.ファイルをクラスパスに置く.
3.以下のようなプログラムを書けばよい.

サンプルプログラム抜粋
import org.apache.commons.fileupload.*;

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        
        //保存するファイルパス
        String savePath = "c:\temp";
        //ファイルオブジェクト作成
        File directory = new File(savePath);
        
        //アップロードオブジェクトの作成
        DiskFileUpload up = new DiskFileUpload();
        //最大ファイルサイズの設定
        up.setSizeMax(1000000);
        
        //マルチパートリクエストか否か
        if(up.isMultipartContent(request)){
            try {
                //リクエストをリストに保存
                List list = up.parseRequest(request);
                
                for (Iterator it = list.iterator();it.hasNext();) {
                    //リクエストの取り出し
                    FileItem fItem = (FileItem) it.next();
                    
                    //通常のフォームからのデータでない場合
                    if(!fItem.isFormField()){
                        
                        //ファイル名を入手
                        String uploadedName = new File(fItem.getName()).getName();
                        File saveFile = new File(directory,uploadedName);
                        
                        //ファイル書き出し
                        fItem.write(saveFile);
                    }
                }
                
            } catch (FileUploadException e) {
               
                e.printStackTrace();
            } catch (Exception e) {
               
                e.printStackTrace();
            }
        }
        
    }aa


Comments