1

サーバーからダウンロードするファイルを指すために、メタ リフレッシュ タグを使用しています。ブラウザで開くのではなく、すべてのファイルをダウンロードするようにするにはどうすればよいですか。次のように、コード ビハインドにメタ タグを追加しています。

String filename = filenode.Element("name").Value.ToString();
HtmlMeta redirectMetaTag = new HtmlMeta();
redirectMetaTag.HttpEquiv = "Refresh";
redirectMetaTag.Content = string.Format("2;url=http://example.example.net/example/" + filename);
this.Header.Controls.Add(redirectMetaTag);

現時点では、jpg などのファイルがブラウザで開かれています。

4

1 に答える 1

0

ブラウザーに [名前を付けて保存] ダイアログを開くように強制する場合は、ページにいくつかのカスタム ヘッダーを追加する必要があります。

TransmitFile 関数を使用することをお勧めします。

Response.ContentType = "image/jpeg";
Response.AppendHeader("Content-Disposition","attachment; filename=[your-file-name]");
Response.TransmitFile( Server.MapPath("~/images/[your-file-name]") );
Response.End();

ファイルの内容をResponseのOutputStreamに自動的に書き込みます。

于 2013-07-10T14:59:14.727 に答える