OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

CSVファイルをCGIでダウンロード

  • すぐに回答を!
  • 質問No.150017
  • 閲覧数299
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 100% (20/20)

Perlを使ってCGIを書いています。
申し込みフォームを送信すると、CSVファイルに書き込むのとメールで送信するというCGIを作りました。
そこで、その作ったCSVファイルをFTPソフトを使うのではなく、ブラウザ上でCGIを使ってダウンロードしたいのですが、どうしたらよいのでしょう?

環境は
OS:Linux、PerlのバージョンはPerl5です。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル11

ベストアンサー率 21% (114/531)

すみません、ダウンロードでしたね。
それならばブラウザのURLでそのCSVファイル名を直接指定してやればOKだと思うのですが。。。
お礼コメント
verine

お礼率 100% (20/20)

ありがとうございます。
確かに、URLで直接指定したらダウンロードできました。
でも、もう少し初心者の方に親切なものを作りたいんです。
投稿日時 - 2001-10-16 12:24:17
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル11

ベストアンサー率 21% (114/531)

CSVファイルはカンマ区切りテキストファイルですので、CGIでこのファイルをオープンし、カンマ単位でレコードを切り離しテーブルタグを付加して表示させれば良いと思います。 ...続きを読む
CSVファイルはカンマ区切りテキストファイルですので、CGIでこのファイルをオープンし、カンマ単位でレコードを切り離しテーブルタグを付加して表示させれば良いと思います。
お礼コメント
verine

お礼率 100% (20/20)

ご回答ありがとうございます。
これは、出力方法ですよね。
投稿日時 - 2001-10-16 12:23:03
  • 回答No.3
レベル14

ベストアンサー率 50% (1122/2211)

「ダウンロード」で良いんですよね。 普通に html のページを書き出すように、標準出力に CSV ファイルの内容をそのまま 書き出します。ただ、そのときに、Content-Type をアプリケーションが結び付けられ ていない application/octet-stream なんかにしておく必要があります。 Content-Type を変えれば、Excel で開く、っていうことも可能です ...続きを読む
「ダウンロード」で良いんですよね。

普通に html のページを書き出すように、標準出力に CSV ファイルの内容をそのまま
書き出します。ただ、そのときに、Content-Type をアプリケーションが結び付けられ
ていない application/octet-stream なんかにしておく必要があります。

Content-Type を変えれば、Excel で開く、っていうことも可能です。
お礼コメント
verine

お礼率 100% (20/20)

ご回答ありがとうございます。
a-kumaさんの書かれたやり方、もう少し詳しく教えていただけないでしょうか?
まだまだ初心者な私にはどう書いていいのか、よくわからないんです。
お願いします。
投稿日時 - 2001-10-16 12:26:25
  • 回答No.4
レベル14

ベストアンサー率 50% (1122/2211)

> a-kumaさんの書かれたやり方、もう少し詳しく教えていただけないでしょうか? 普通に、処理をして、その結果を表示するような CGI だと、出力の最初で、 こんなふうに、ヘッダを出力しますよね。 print "Content-type: text/html\n"; print "\n"; a-kuma> 普通に html のペー ...続きを読む
> a-kumaさんの書かれたやり方、もう少し詳しく教えていただけないでしょうか?

普通に、処理をして、その結果を表示するような CGI だと、出力の最初で、
こんなふうに、ヘッダを出力しますよね。

print "Content-type: text/html\n";
print "\n";

a-kuma> 普通に html のページを書き出すように、標準出力に CSV ファイルの内容をそのまま
a-kuma> 書き出します。ただ、そのときに、Content-Type をアプリケーションが結び付けられ
a-kuma> ていない application/octet-stream なんかにしておく必要があります。

は、そのヘッダの出力を、こんなふうにする、ということです。

print "Content-type: application/octet-stream\n";
print "\n";

これ以降は、ダウンロードしたいデータをそのまま(print なんかで)書き出します。
お礼コメント
verine

お礼率 100% (20/20)

回答ありがとうございます。
イマイチやり方がわかりませんでした。
投稿日時 - 2001-11-20 15:26:35
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ