1

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

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

しかし、YUI Uploader でこれを実現する方法がわかりません。Java コントローラーに到達でき、カスタム投稿値を抽出することさえできます。しかし、リクエストからバイナリ ファイル データを抽出する方法がわかりません。

Java バックエンドを備えた YUI アップローダで運が良かった人はいますか?

4

1 に答える 1

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 オブジェクトがあればまったく同じことができるはずです。

于 2009-06-15T05:23:19.897 に答える