如何将二进制blob发送到客户端浏览器?

时间:2009-01-08 22:10:45

标签: asp.net browser download blob

请原谅这个愚蠢的新手问题;网页编程不是我的强项......(脸红)

我在Web服务器上运行了一个aspx页面。我有一个blob(字节数组),包含任何类型的二进制文件,加上文件名。

我想将此文件通过浏览器下载到客户端,并使用此文件类型的默认应用程序打开。我真的不想将blob保存为服务器上的文件;这将留下一个可怕的家务管理混乱,我只是不想考虑。

我确实尝试使用Google搜索这个问题,但我猜我使用了错误的关键字。

这应该是显而易见的,但我没有快乐。

诀窍是什么?

谢谢!

2 个答案:

答案 0 :(得分:10)

Response.BinaryWrite(byteArray);

您还应该设置内容类型

Response.ContentType = "application/pdf";

但这将取决于您的文件类型。

文件名(以及所有内容)就像这样完成

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

答案 1 :(得分:3)

首先,你必须知道mime类型。一旦知道,就可以设置Response.ContentType属性。之后,只需使用Response.BinaryWrite()。如果您没有先设置ContentType属性,则客户端几乎没有机会正确打开文件。