2009-06-12 3 views
0

(フラッシュベースの)YUI UploaderをJava(Springベース)のバックエンドで使用しようとしています。JavaバックエンドのYUI Uploader

Javaサーブレットの世界でファイルをアップロードする典型的な方法は、ユーザーからファイルを要求するHTMLフォームにENCTYPE='multipart/form-data'を設定することです。適切なサーバー側API(つまりCommons FileUpload)を使用すると、サーバー上でファイルを取得することができます。

しかし、私はこれをYUI Uploaderでどのように実現するかによって邪魔されています。私はJavaコントローラに到達することができます。カスタムポスト値を抽出することもできます。しかし、私はどのように要求からバイナリファイルのデータを抽出するのか分かりません。

誰も、Javaのバックエンドを持つYUIアップローダを持っている人はいませんか?

答えて

2

自分の質問に答えるために、そして長い話を短くするために、このコードのスニペットは、トリックをした:

@Controller 
@RequestMapping("/FileUploadController") 
public class FileUploadController { 

    @RequestMapping(method = RequestMethod.POST) 
    protected ModelAndView onSubmit(HttpServletRequest request) throws Exception{ 
     FileItemFactory factory = new DiskFileItemFactory(); 
     ServletFileUpload upload = new ServletFileUpload(factory); 
     List<FileItem> /* FileItem */ items = upload.parseRequest(request); 

     for (FileItem fileItem : items) { 
      if (fileItem.isFormField()) { 
//    processFormField(fileItem); 
      } else { 
       File uploadedFile = new File("/tmp/junk/" + fileItem.getName()); 
       fileItem.write(uploadedFile); 
      } 
     } 
     return new ModelAndView("index"); 
    } 
} 

この例では、Springを使用していますが、あなたは長いとまったく同じことを行うことができるはずあなたはHttpServletRequestオブジェクトを持っています。