• ベストアンサー

ファイルダウンロード時、正常終了しなかった場合にエラー表示させたい

Perlを使用し、CSVファイルをダウンロードさせるスクリプトを作りました。 データが大きくなると、回線状況などの問題により、データを全てダウンロード しないままダウンロードが完了してしまう時があるようです。 自分の環境では再現できなかったのですが、途中までしかダウンロードできていないにもかかわらず、正常終了したような顔しているそうです。 全てダウンロードできなかった場合に、ユーザーに対して何かエラーを表示させることはできないでしょうか? print"Content-Type: text/csv\n"; print"Content-Disposition: attachment; filename=register.csv\n\n"; foreach (@data){     print"$_\n"; }

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

  • ベストアンサー
回答No.3

でしたら専用のダウンロードツールとして ActiveXでうごくなにかしらの物を作る方法 でしょうね。 どっかのネットのファイルストレージ系では そういうのがあります。 (どこか忘れましたが)

tomkeifer
質問者

お礼

>ActiveXでうごくなにかしらの物を作る方法でしょうね。 そのようですね。 いろいろなダウンロードサイトを見てみましたが、ダウンロードが正常終了したかどうかをチェックしているサイトはほとんどなく、 そこまで本格的にやっているサイトは、専用のダウンローダーを使用していますよね。

その他の回答 (2)

回答No.2

根本解決ではないですが ダウンローダー系のツールを使うように 推奨するような書き方をしたらどうですか? 後は、手動チェックになりますがCRC,MD5で ファイルチェックをさせるようにするとか

tomkeifer
質問者

補足

回答ありがとうございます。 ユーザーはコンピューターのことをほとんど理解していない方々なので、 ダウンローダーを別途導入して、、というのは現実的ではありません。 できるだけユーザーにも管理者にも負担をかけずに対応できればと考えています。 せっかく回答していただいたのにすみません。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 結論から先に申し上げると「無理です」。 HTTPは基本的に「クライアントのデータ到着周りのステータスを受け取らない」プロトコルなので、そういった類のチェックは出来ません。 ただ「原則としては無理だけど」を前提に、いくつかのブラウザではJavaScriptである程度近いことまでは出来るようですが。

tomkeifer
質問者

補足

回答ありがとうございます。 もしよろしければ、JavaScriptでの方法を教えていただけませんでしょうか。 ブラウザはIEに対応できれば、後は捨てようと思います。

関連するQ&A

専門家に質問してみよう