asp.net 文件下载的通用方法

 更新时间:2009年06月11日 22:25:10   作者:  
一则雕虫小技,记下备忘,以使同学们少走弯路。
在asp.net里,你简单在Response中写文件流的话,可能被浏览器误读了,比如说图片或是.htm,会在被浏览器打开时直接呈现出来。而需求却是,弹出保存的面板提示用户保存。
那么,以下几个步骤都必不可少。
复制代码 代码如下:

Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;FileName=" + clientname);
Response.ContentType = "application/octet-stream";
Response.WriteFile(filename);//Response.TransmitFile(filename);

目的分别是:
清空响应已有内容(因为你很有可能是在aspx.cs里使用的,或者在你不知情的情况下,httpresponse里已经有了一些内容)
修改httpheader,
修改mime类型
写入文件流
最后一行,使用WriteFile或是TransmitFile都可以,但略有区别,使用TransmitFile效率上会更好一些,因为它"将指定的文件直接写入 HTTP 响应输出流,而不在内存中缓冲该文件".
而这里的mime和httpheader适合所有类型的文件下载.

相关文章

  • C# 添加图片水印类实现代码

    C# 添加图片水印类实现代码

    图片水印类实现代码,需要的朋友可以参考下。
    2009-05-05
  • .Net 项目代码风格要求小结

    .Net 项目代码风格要求小结

    代码风格没有正确与否,重要的是整齐划一,这是我拟的一份《.Net 项目代码风格要求》,供大家参考
    2015-12-12
  • 微信语音上传 下载功能实例代码

    微信语音上传 下载功能实例代码

    这篇文章主要介绍了微信语音上传 下载功能实例代码,需要的朋友可以参考下
    2017-08-08
  • .NET 6开发TodoList应用引入第三方日志库

    .NET 6开发TodoList应用引入第三方日志库

    这篇文章主要介绍了.NET 6开发TodoList应用引入第三方日志库,在我们项目开发的过程中,使用.NET 6自带的日志系统有时是不能满足实际需求的,比如有的时候我们需要将日志输出到第三方平台,更多详细内容请需要的小伙伴参考下面文章内容
    2021-12-12
  • .NET 6 中的 dotnet monitor详细解析

    .NET 6 中的 dotnet monitor详细解析

    dotnet monitor 是一种工具,它提供了一种统一的方法来收集这些诊断信息,而不管您是在桌面计算机还是在 kubernetes 集群中运行,dotnet monitor 已经为 Azure App Service(Linux)提供 .NET 应用程序的诊断工具提供支持,我们希望它在更多环境中使用
    2021-12-12
  • asp.net及javascript判断是否手机访问的方法

    asp.net及javascript判断是否手机访问的方法

    这篇文章主要介绍了asp.net及javascript判断是否手机访问的方法,结合实例形式对比分析了asp.net及javascript实现判断访问端类型的相关技巧,需要的朋友可以参考下
    2016-06-06
  • C# WindowsMediaPlayer 的一些用法实例

    C# WindowsMediaPlayer 的一些用法实例

    这篇文章介绍了C# WindowsMediaPlayer 的一些用法实例,有需要的朋友可以参考一下
    2013-09-09
  • .NET微服务架构CI/CD自动构建Jenkins+Gitee

    .NET微服务架构CI/CD自动构建Jenkins+Gitee

    这篇文章介绍了.NET使用微服务架构CI/CD自动构建Jenkins+Gitee的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • ASP.NET实现图片自动添加水印

    ASP.NET实现图片自动添加水印

    这篇文章主要介绍了ASP.NET实现图片自动添加水印,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • VS2015开发环境的安装和配置

    VS2015开发环境的安装和配置

    本文主要是给大家把C#开发环境各种版本的更新和安装过程重新整理一下贡献出来,希望对小伙伴们能够有所帮助
    2016-07-07

最新评论