![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
CGIの知識が全くなく、いろいろなサイトを参考にさせていただいています。
表現等が正しくないことがあるかもしれませんが、ご了承下さい。
htmlのsubmitからcgiを経由してpdfをダウンロードさせるように作成中です。
cgiは、下記Uページを参考にさせていただきました。
http://www.abe-tatsuya.com/web_prog/perl_cgi/con …
#実際の記述<-----------------------------------------------
#-- ダウンロードさせる元ファイル
$source = 'doc.pdf';
#-- 保存時のファイル名(デフォルト)
$filename = '申込書.pdf';
#-- HTTPヘッダ送信
print qq|Content-type: application/pdf\n|;
print qq|Content-Disposition: attachment; filename="$filename"\n|;
print qq|\n|;
#-- ファイルを読み込んで出力
open(FILE,"$source");
while(<FILE>){print;}
close(FILE);
#--------------------------------------------------------->
上記の結果、ダウンロードはできるのですが、
Acrobatのエラーで、「この文章を開くときにエラーが発生しました。ファイルが壊れています。修復できませんでした。」
というメッセージが表示されます。
PCを変えてみたりもしましたが、どのPCからダウンロードしても同じです。
ちなみに、ウェブサーバーへアップロードする前のpdfは、ちゃんと開きます。
何が原因なのでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
では、元のファイルと、ダウンロードしたファイルを、バイナリー比較可能なツールを使って比較してみてください。
おそらく、違ったものになっています。
ファイルをテキストモードで開いて、「1行」ずつ読み込んで(<FILE>)、 テキストモードで出力(print)しています。
テキストモードでバイナリファイルの読み書きをすると、「文字化け」を起すことがあります。
binmodeでバイナリーモードにしましょう。
<>はバイナリーには向かないので、 read等を使いましょう
http://perldoc.jp/func/read
このプログラムに無い部分や、サーバーの設定によっては、別の対策も必要かもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- PDF Adobe Acrobat Reader について 3 2023/02/24 20:19
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- その他(IT・Webサービス) WPからダウンロードしたファイル名を指定したい 2 2022/04/08 08:31
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
ホームページでCGIのフォームを...
-
一番簡単なCGI,掲示板の設置教...
-
(フリーの)ツリー掲示版CGI、...
-
ChatGPTとは?
-
perlで書いたcgiでsqliteの使い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のCGIだけ、作動するかわり...
-
CGI経由PDFダウンロードでエラー
-
cgiでファイルダウンロード時の...
-
cgiファイルがダウンロードでき...
-
「メニューハンドルが無効です...
-
ファイルダウンロード後に、デ...
-
フリーのCGIについて素朴な質問...
-
イベントカレンダー evcal.cgi
-
content type 指定のないHTML
-
ダウンロード後 zipファイル削除
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
URLに~/cgi-bin/~を隠す方法
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
-
ASPからJavaScriptへの受け渡し...
-
VBScriptで、ファイルから任意...
-
ラジオボタンのグループ化
-
ASPから既存のexcelブックを開...
-
VBAでサーバーにアクセスするに...
おすすめ情報