バイナリBLOBをクライアントブラウザーに送信するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/426219

質問

初心者の愚かな質問はこちらでご容赦ください。ウェブプログラミングは私の得意ではありません...(赤面)

Webサーバーでaspxページを実行しています。あらゆる種類のバイナリファイルとファイル名を含むblob(バイト配列)があります。

このファイルをブラウザ経由でクライアントにダウンロードし、このファイルタイプのデフォルトのアプリケーションを使用して開くようにプッシュしたいと思います。サーバー上のファイルとしてblobを保存したくありません。それは私がただ考えたくないひどいハウスキーピング混乱を残すでしょう。

この質問をグーグルで試しましたが、間違ったキーワードを使用していると思います。

これは実際にそれを行う方法が明らかなはずですが、私には喜びがありません。

コツは何ですか?

ありがとう!

役に立ちましたか?

解決

Response.BinaryWrite(byteArray);

コンテンツタイプも設定する必要があります

Response.ContentType = "application/pdf";

ただし、これはファイルの種類に基づいています。

そして、ファイル名(およびすべてを一緒に)は次のようになります

Response.AddHeader("content-disposition", 
   String.Format("attachment;filename={0}", fileName));    
Response.ContentType = "application/pdf";
Response.BinaryWrite(byteArray);

他のヒント

最初に、MIMEタイプを知る必要があります。それがわかったら、Response.ContentTypeプロパティを設定できます。その後、Response.BinaryWrite()を使用します。最初にContentTypeプロパティを設定しないと、クライアントはファイルを正しく開く可能性がほとんどありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top