2010-12-24 11 views
0

IEでファイルリンクを頻繁にクリックすると、ダウンロードボックスが表示されます。しかし、この場面の後ろではどうなるでしょうか?私はIEがHTTPプロトコルを使ってWebサーバーと常に話し合い、HTTPがテキストベースのであることを知っています。IEのダウンロードはどのように行われますか?

IEのダウンロードはHTTPプロトコルで行われますか?もしそうなら、どのようにテキストベースのプロトコルで任意のファイル形式をダウンロードできますか?

現在、私は顧客にファイルをダウンロードするように指示するWebアプリケーションを作成しようとしています。私の現在の設計は、Webサービスを実装することです。顧客はこのWebサービスを呼び出し、WebサービスはファイルのダウンロードURLを返します。しかし、私はURLをどのように扱うべきか分かりません。 File.Copyのようなものを使ってURLからローカルディスクにファイルをコピーできますか?またはURLをどのように扱うべきですか?より良いデザインがあれば教えてください。右コンテンツタイプを指定することにより

多くのおかげで...

+0

ようなものです私がこれまでに知っている少なくともC#、Classic ASP、PHPでのスタックオーバーフロー。 – stealthyninja

答えて

1

は、あなたはそれがあなたが送信されているデータの種類、ブラウザを伝えることができます。 さらに、バイナリコンテンツをテキストとして表示したり、限られた文字セットのみを使用したり、その他すべてをエスケープする特殊なエンコード(Base64など)もあります。

次に、あなたはURLで行う必要はありません。 IEはファイルを開くことができるかどうかを知り、それに応じてダウンロードボックスを表示します。

0

多分それはあなたが `保存As`ダイアログを表示するには、ブラウザを_force_しようとする場合は、使用する予定のスクリプト言語を投稿してください、これを上行う方法の例がある

<?php 
// We'll be outputting a PDF 
header('Content-type: application/pdf'); 

// It will be called downloaded.pdf 
header('Content-Disposition: attachment; filename="downloaded.pdf"'); 

// The PDF source is in original.pdf 
readfile('original.pdf'); 
?> 
+0

ありがとうございますが、これは高すぎます。私はプロトコルの観点から、おそらくバイナリレベルでこれを知りたいと思う。 – smwikipedia

関連する問題