Java元サーバーでアップロードファイルを受信しました。MultiiprtFile類を使用しません。


仕事で使うから MultiiprtFileは既存のアップロードファイルコンポーネントと競合しています。
だから他のアップロードファイルを受信する方法を使います。
まずは私が MultiiprtFile類の配置ファイルはコメントが取れます。

<!-- <bean id="multipartResolver"
 class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
 <property name="defaultEncoding" value="utf-8" />
 <property name="maxUploadSize" value="10485760" />
     10M,      ,MultipartFile       , request   !
 </bean> -->
既存のファイルの受信方法をこのコードに変更します。
注釈が詳細であれば、無駄話は多くないです。

/**
*   request         
* @warn               
*         ,  item.delete();
* @param request http  
* @param encoding     , null   utf-8
* @return        FileItem   
*/
public List<FileItem> getUploadInputSteam(HttpServletRequest request,String encoding){
 if (encoding==null || "".equals(encoding)) {
 encoding = "UTF-8";
 }
 List<FileItem> items = new ArrayList<FileItem>();
 //             
 DiskFileItemFactory factory = new DiskFileItemFactory();
 ServletFileUpload upload = new ServletFileUpload(factory);
 upload.setHeaderEncoding(encoding);
 if (!ServletFileUpload.isMultipartContent(request)) {
 return items;
 }
 try {
 //  ServletFileUpload         ,          List<FileItem>  
 //   FileItem    Form      
 List<FileItem> list = upload.parseRequest(request);
 for (FileItem item : list) {
 //  fileitem             
 if (item.isFormField()) {
// String name = item.getFieldName();
//  //                 
// String value = item.getString(encoding);
// System.out.println(name +"="+value);
 }else{
 String fileName = item.getName();
 if (fileName==null||fileName.trim().equals("")) {
 continue;
 }
 //  :                 ,                   ,
 // : c:\a\b\1.txt,           , :1.txt
 //                   ,        
// fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
 items.add(item);
 }
 }
 } catch (Exception e) {
 e.printStackTrace();
 return items;
 }
 return items;
 }
 @RequestMapping("/testUpload")
 @ResponseBody
 public String testUpload(HttpServletRequest request) throws Exception{
 //      
 List<FileItem> items = getUploadInputSteam(request, "utf-8");
 //       
 FileItem item = items.get(0);
 
 //      
 String fileName = item.getName();
 fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
 
 //     ,             ,       
 InputStream in = item.getInputStream();
 
 //   
 in.close();
 
 //       ,item     
 item.delete();
 return "success!";
}
注意:
1.解析ファイルのクラスは全部 org.apache.com mmonsのこのカバン
2.前端からフォームを書いてください。actionのurl、enctype=「multiipad/form-data」、postリクエスト
3.inputボタン指定type="file"name="xxx"そして 送信ボタン  (ajaxを使って非同期で提出してもいいです。 
たとえば:

<form action="test/testUpload" method="post"
 enctype="multipart/form-data">
 
 <input type="file" name="myFile" value="    "> 
 <input type="submit" value="    " />
</form>
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。