0

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

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

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

我确实尝试过用谷歌搜索这个问题,但我想我使用了错误的关键字。

这真的应该很明显如何做到这一点,但我没有快乐。

诀窍是什么?

谢谢!

4

2 回答 2

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);
于 2009-01-08T22:15:20.697 回答
3

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

于 2009-01-08T22:16:57.930 回答