Loading [MathJax]/extensions/tex2jax.js

2010-12-17

[Java]ファイルアップロードサーブレットプログラム

純粋なサーブレットでのファイルアップロードプログラムの例です。下記のプログラムの動作には、
のライブラリが必要です。
  1. protected void processRequest(HttpServletRequest request, HttpServletResponse response)  
  2.             throws ServletException, IOException {  
  3.         Logger log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);  
  4.         try {  
  5.   
  6.             //URLより保存場所の絶対パスを入手  
  7.             ServletContext sc = getServletContext();  
  8.             String path = sc.getRealPath("/WEB-INF");  
  9.             log.info("filepath:" + path);  
  10.             File fileDir = new File(path);  
  11.   
  12.             if (!ServletFileUpload.isMultipartContent(new ServletRequestContext(request))) {  
  13.                 throw (new Exception("Not FileUpload Request"));  
  14.             }  
  15.             ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());  
  16.             List<fileitem> list = upload.parseRequest(request);  
  17.             for (Iterator<fileitem> iter = list.iterator(); iter.hasNext();) {  
  18.                 FileItem fItem = (FileItem) iter.next();  
  19.                 if (fItem.isFormField()) {  
  20.                     continue;  
  21.                 }  
  22.                 String fileName = (new File(fItem.getName())).getName();  
  23.                 File newFile = new File(fileDir, fileName);  
  24.                 fItem.write(newFile);  
  25.   
  26.             }  
  27.             log.info("アップロード終了");  
  28.         } catch (Exception ex) {  
  29.             log.warning("アップロード処理異常終了");  
  30.         }  
  31.   
  32.     }  


0 件のコメント:

コメントを投稿