[Seasar-user:3887] Re: S2JSF 1.1.0 でのファイルアップロード
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2006年 6月 16日 (金) 19:40:00 JST
米林です。
From: "Toba Tetsuya" <[E-MAIL ADDRESS DELETED]>
Sent: Friday, June 16, 2006 7:29 PM
> S2JSF 1.1.0 Beta1 + Teeda 1.0 Beta 3 を利用しているのですが、
> ファイルアップロードのやり方が分かりません。
>
> S2JSF の FAQ では MyFaces の拡張タグを利用するように書かれて
> いますが、1.1.0 は JSF 実装が Teeda ですので、このやり方では
> できませんでした。
MyFacesの拡張コンポーネント(tomahawk)を使えば
可能なのですが(Calendarで検証済み)、FileUploadの
方法もお知らせしますので、しばらくお待ち下さい。
> また、HTML を
>
> <form enctype="mutilpart/form-data">
> <input type="file" name="file">
> <input type="submit" m:action="#{hogeAction.uploadAction}">
> </form>
>
> とし、request/application の setter を追加して、Commons
> FileUpload を使って自力でなんとかしようとしましたが、
> multipart/form-data のせいか、肝心の hogeAction#uploadAction
> が呼んでもらえませんでした。
>
> public String uploadAction() {
> String tempPath = application.getRealPath("/work/");
> String imagePath = application.getRealPath("/upload/");
> DiskFileItemFactory factory = new DiskFileItemFactory();
> factory.setSizeThreshold(1024 * 1024 * 2);
> factory.setRepository(new File(tempPath));
> ServletFileUpload upload = new ServletFileUpload(factory);
> upload.setSizeMax(-1);
> try {
> List<FileItem> list = upload.parseRequest(request);
> for (FileItem fileItem : list) {
> if (fileItem.getName() != null
> && !fileItem.getName().equals("")) {
> File file = new File(imagePath + fileItem.getName());
> fileItem.write(file);
> }
> }
> } catch (FileUploadException e) {
> throw new RuntimeException(e);
> } catch (Exception e) {
> throw new RuntimeException(e);
> }
> return null;
> }
>
> 何か良い方法があればご教示願います。
>
> --
> 鳥羽 哲也
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://www.seasar.org/mailman/listinfo/seasar-user
>
>
Seasar-user メーリングリストの案内