请原谅这个愚蠢的新手问题;网页编程不是我的强项......(脸红)
我在Web服务器上运行了一个aspx页面。我有一个blob(字节数组),包含任何类型的二进制文件,加上文件名。
我想将此文件通过浏览器下载到客户端,并使用此文件类型的默认应用程序打开。我真的不想将blob保存为服务器上的文件;这将留下一个可怕的家务管理混乱,我只是不想考虑。
我确实尝试使用Google搜索这个问题,但我猜我使用了错误的关键字。
这应该是显而易见的,但我没有快乐。
诀窍是什么?
谢谢!
答案 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属性,则客户端几乎没有机会正确打开文件。