WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:Perlでの複数fileのダウンロード

kAzz [MAIL] [WriteDate : Fri May 18 11:42:32 2001]

みなさまのお知恵を拝借したく、書き込みします
どうぞよろしく御願いします

@filesにはファイルリストとして1行=1ファイル名が入っています
 foreach $file (@files){
     chomp($file);
     open(LOG,"$file");
     @DATA = <LOG>;
     close(LOG);
     print "Content-disposition: attachment; filename=\"$file\"\n";
     print "Content-type: text/download\n\n";
     print @DATA;
 }
として、複数ファイルのダウンロードを行いたいと思いました
が、ファイルリストの最初のファイル名で全ファイル内容がダウンロード
(1ファイルとして)されてしまいます

クライアントの1アクションで複数のファイルをダウンロードすることは
不可能なのでしょうか?

ちなみに、環境は(実験環境ですが)
  サーバー:Windows98+An-httpd
  クライアント:WIndows98+ネスケ4.75
となっています


かず [WriteDate : Fri May 18 18:42:32 2001]

その後です。。。
どうも、複数ファイルは無理っぽいです。。。
ファイルを圧縮し、1書庫としてダウンロードする方法を検討しています


ちゃいぱ [WriteDate : Fri May 18 22:50:49 2001]

会社の後輩が、今、調査中です。
Content-Typeを駆使すると出来るみたいです。
とりあえず、ネスケでは出来ました。

詳細は、来週、報告します。


B-Cus [WriteDate : Sat May 19 01:31:02 2001]

 http://way.direct.ne.jp/HTTP/rfc2616_ja/sec3.html#sec3.7.2
 3.7.2 マルチパートタイプ
ってのがあるので規格にのっとってやるなら こっち?

あるいは僕が勘違いしているだけで、実は全然関係ないのかも。

# こういうマルチパートなボディを受けとったことがないので…


ween [WriteDate : Sat May 19 03:07:42 2001]

とりあえず Win98 + NN4.08 では、multipart/mixed で
複数ファイルを個別にダウンロードできるみたいです。
IE5.5 では無理でした。
あと、サーバープッシュで multipart/x-mixed-replace
が使われていたように思います。
クライアントがネスケに限られているなら、使える、かも。


かず [WriteDate : Sat May 19 15:55:10 2001]

いろいろとアドバイス、ありがとうございます
どうやら、複数ファイルのDLが出来るようですね
それならば、そっちの方がうれしいです
なにせ、クライアントは初心者を想定していますので(^^;
で、クライアントのブラウザはIEを想定しているんですよ。。。
IEだとやっぱ、無理なのでしょうかね


ちゃいぱ [WriteDate : Tue May 22 15:47:05 2001]

>会社の後輩が、今、調査中です
調査結果はweenと同じでした。
やはり、IEでは、無理みたいです。
(後輩も残念がっていました...)

ちなみに、以下がそのテストソースです。

   printf("Content-Type: multipart/x-mixed-replace;"
          "boundary=---BoUnDaRy---\n\n");

   printf("---BoUnDaRy---\n");
   printf("Content-Disposition: attachment; filename=xxxxx.htm\n");
   printf("Content-type: application/octet-stream\n\n");
   printf("1aaa,bbb,ccc\n");
   printf("aaa,bbb,ccc\n");
   printf("aaa,bbb,ccc\n");
   printf("aaa,bbb,ccc\n");
   printf("\n");
   printf("---BoUnDaRy---\n");
   printf("Content-Disposition: attachment; filename=11111.htm\n");
   printf("Content-type: application/octet-stream\n\n");
   printf("X111111111\n");
   printf("111111111\n");
   printf("111111111\n");
   printf("111111111\n");
   printf("211111111\n");
   printf("---BoUnDaRy---\n");


ちゃいぱ [WriteDate : Tue May 22 15:48:20 2001]

>調査結果はweenと同じでした。
調査結果はweenさんと同じでした。

失礼しました!  


かず [WriteDate : Tue May 22 16:50:37 2001]

いま、試してみました!
すごいです!! なんど、いろんなことをやってもダメだったのに。。。

本当にありがとうございます m(._.)m ペコッ
なんとか、ネスケを標準ということで話を進めることにします

ありがとうございました

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World