[Seasar-user:7878] Re: fileUpload
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2007年 5月 29日 (火) 11:31:53 JST
谷村です。
前野様、ご返答いただきありがとうございます。
> UploadedFile# getInputStream()で送信されたファイルの
> InputStreamを取ってこれるようです。
>
> そのInputStreamを読み取ってwriteしてあげたらいいかもしれません。
前野様からいただいた上記情報を元に処理がうまくできました。
※下記のような形で実装してみました。
try {
//path:ファイル格納先絶対パス
//fileName:ファイル名
//uploadedFile:アップロードされたファイル
File outFile = new File(path, fileName);
in = uploadedFile.getInputStream();
out = new FileOutputStream(outFile.getAbsolutePath());
byte[] dataByte = new byte[128];
while ((in.read(dataByte)) != -1) {
out.write(dataByte);
}
} catch (Exception e) {
throw e;
}
どうも、ありがとうございました。
"Maeno" <[E-MAIL ADDRESS DELETED]>さんから届いたメールです。
----------ここから----------
> 前野です
>
> FileUploadとかそこらへんについては無知なんですが・・・。
>
> UploadedFile# getInputStream()で送信されたファイルの
> InputStreamを取ってこれるようです。
>
> そのInputStreamを読み取ってwriteしてあげたらいいかもしれません。
>
> 別の方法として、UploadedFile#getBytes()でバイト配列を取ってきて
> FileOutputStream#write(byte)としてあげれば出来るかもしれないです。
>
> ※試していないので・・・・スミマセン。
>
> ----- Original Message -----
> From: <[E-MAIL ADDRESS DELETED]>
> To: <[E-MAIL ADDRESS DELETED]>
> Sent: Friday, May 25, 2007 5:30 PM
> Subject: [Seasar-user:7833] fileUpload
>
>
> >
> > 谷村と申します。
> > 初めて投稿させていただきます。
> > Seasar初心者ですが、宜しくお願いいたします。
> >
> > Teeda Extensionでファイルアップロードの処理を実装しております。
> > 現状、pageクラスにてアップロード対象のファイル名、
> > ファイルサイズは取得できるのですが、
> > その先の処理「アップロードしたファイルを所定のディレクトリに保存する」
> > 実装方法がわかっておりません。
> >
> > お手数をおかけしますが、ファイルアップロードの実装方法について
> > ご存知の方、ご教授頂けますでしょうか?
> >
> >
> > 現状は下記のように実装しております。
> >
> > ※実装方法としてはSeasarのWebページにある「MyFacesの拡張コンポーネント使用時」
> >
> > を参考にしています。
> > ※Web.xmlに<filter>および、<filter-mapping> 追加済み
> > ※commons-fileupload-1.2.jar、tomahawk-1.1.5.jar 追加済み
> >
> >
> > htmlファイル抜粋
> >
> > <html xmlns="http://www.w3.org/1999/xhtml"
> > xmlns:x="http://myfaces.apache.org/tomahawk">
> > <head>
> > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> > <title>FileUpload</title>
> > </head>
> > <body>
> > <form id="form" enctype="multipart/form-data">
> > <span id="allMessage"/>
> > <x:inputFileUpload id="uploadedFile" value="#{uploadedFile}"/>
> > <input type="submit" id="doUpload" value="FileUpload"/></form>
> > </body>
> > </html>
> >
> > pageクラス抜粋
> >
> > public class UploadPage implements Serializable {
> >
> > private UploadedFile uploadedFile;
> >
> > public UploadedFile getUploadedFile() {
> > return this.uploadedFile;
> > }
> >
> > public void setUploadedFile(UploadedFile uploadedFile) {
> > this.uploadedFile = uploadedFile;
> > }
> >
> > public String doUpload() {
> >
> > System.out.println("Size:"+uploadedFile.getSize());
> > System.out.println("Name:"+uploadedFile.getName());
> >
> > //★ここから先の実装方法がわかりません★
> > //★ファイルを所定のディレクトリに保存したい★
> >
> > return null;
> > }
> > }
> >
> > 以上、宜しくお願いいたします。
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
----------ここまで----------
Seasar-user メーリングリストの案内