有的时候我们不想让用户直接在IE中打开已知类型的文件,比如Word,而希望能直接下载,这时候可用下面代码来替换Response.Redirect
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;FileName="+YourFileName);
Response.BinaryWrite((byte[])YourFileData.Rows[0]["AttachmentContent"]);
Response.End();
补充一下。通常我喜欢把链接做成这样:
<a href="download.aspx/hello.chm?fileid=12345">hello.chm</a>
这样客户端下载的时候默认是 hello.chm 这个名字的。
本文介绍了一种使用ASP.NET实现强制下载文件而非在浏览器中打开的方法。通过设置Response对象的ContentType和Content-Disposition属性,并使用BinaryWrite方法将文件内容写入响应流,可以确保文件被下载而不是直接显示。此外,还提供了一个示例链接格式,方便用户下载时文件名的自定义。
6889

被折叠的 条评论
为什么被折叠?



