请原谅这里愚蠢的新手问题;网络编程不是我的强项……(脸红)
我有一个在 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 属性,客户端几乎没有机会正确打开文件。