惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
Jina AI
Jina AI
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
V
V2EX
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
B
Blog
博客园 - 叶小钗
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
P
Proofpoint News Feed
A
About on SuperTechFans
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - Daniel Pang

pcanywhere失去连接的一个解决方法 JS格式化日期字符串 - Daniel Pang - 博客园 [软件共享]将数据库中的数据导出为SQL脚本 复制DataTable的一种方法 IBatisNet + Castle 开发相关文章 [IBatisNet]关于返回DataTable的一点问题 深圳电话订票基本步骤及所有的取票点地址电话 Automatic Transaction Management Facility 使用 - Daniel Pang IBatisnet Facility 的几种配置 - Daniel Pang IBatisNet -- 保护你的配置文件及映射文件信息 Rational Rose 加载出错的问题 修改Sql server中列的属性脚本 字符串加密方法 ERP术语 英文对照(部分)(参考) 一个关于SQL2005的问题 动态加载TreeNode -- ComponentArt TreeView - Daniel Pang 使用IBatisNet + Castle 开发DotNet软件 JS--屏蔽浏览器右键菜单 Excel的导出操作 - Daniel Pang - 博客园
对文件下载的补充 - Daniel Pang - 博客园
Daniel Pang · 2007-03-13 · via 博客园 - Daniel Pang

      我在ASP.NET中常用的文件上传下载方法一文中写了几种文件上传下载的方法,其中第二部分的下载当时没有具体说清楚,现在补充一下。对于有具体物理路径的文件下载,我们可以采用下面的思路,先将其转化成二进制流,然后用浏览器读出来,具体代码如下:

/// <summary>
        
/// 下载文件
        
/// </summary>
        
/// <param name="path">文件所在的物理路径</param>
        
/// <param name="fileName">文件名称</param>
        
/// <param name="contentType">客户端MIME类型</param>

        private void UpLoadFile(string path, string fileName, string contentType)
        
{
            FileInfo fi 
= new FileInfo(path);
            FileStream fs 
= fi.OpenRead();
            
byte[] FileArray = new byte[(int)fs.Length];
            fs.Read(FileArray, 
0, FileArray.Length);
            fs.Close();

            Response.Buffer 
= true;
            Response.Clear();
            Response.ContentType 
= contentType;
            Response.AddHeader(
"Content-Disposition""attachment;filename=" + fileName);
            Response.BinaryWrite(FileArray);
            Response.Flush();
            Response.End();
        }