当前位置: 首页 > news >正文

建公司网站哪家公司好平面设计软件下载官方网站

建公司网站哪家公司好,平面设计软件下载官方网站,怎么开发手机网页,嘉兴网站建设嘉兴网站推广原文地址为: C#实现文件下载 1,Http 协议中有专门的指令来告知浏览器, 本次响应的是一个需要下载的文件. 格式如下:Content-Disposition: attachment;filenamefilename.ext以上指令即标记此次响应流是附件,且附件文件名为 filename.ext注意:…
原文地址为: C#实现文件下载

1,Http 协议中有专门的指令来告知浏览器, 本次响应的是一个需要下载的文件. 格式如下:
Content-Disposition: attachment;filename=filename.ext
以上指令即标记此次响应流是附件,且附件文件名为 filename.ext
注意:
(1): 中文文件名需要进行URLEncode编码, 否则在IE 6 下会提示是”无法识别的文件”.

但经实际测试,在Chrome下不进行URLEncode编码, 也能正常显示.

(2): 文件名不能有空格, 否则也会被认为是”无法识别的文件”.

(3): [ASP.Net中] 向响应流中添加该指令必须使用 response.AddHeader() 函数; 使用

response.Header.Add() 则会报错.

下面是一个实现下载文件功能的函数:

       /// <summary>/// 使用微软的TransmitFile下载文件/// </summary>/// <param name="filePath">服务器相对路径</param>public void TransmitFile(string filePath){try{filePath = Server.MapPath(filePath);if (File.Exists(filePath)){FileInfo info = new FileInfo(filePath);long fileSize = info.Length;HttpContext.Current.Response.Clear();                    //指定Http Mime格式为压缩包HttpContext.Current.Response.ContentType = "application/x-zip-compressed";// Http 协议中有专门的指令来告知浏览器, 本次响应的是一个需要下载的文件. 格式如下:// Content-Disposition: attachment;filename=filename.txtHttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(info.FullName));//不指明Content-Length用Flush的话不会显示下载进度   HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());HttpContext.Current.Response.TransmitFile(filePath, 0, fileSize);HttpContext.Current.Response.Flush();}}catch{ }finally{HttpContext.Current.Response.Close();}}

2 下面是使用WriteFile实现下载

        /// <summary>/// 使用WriteFile下载文件  /// </summary>/// <param name="filePath">相对路径</param>public void WriteFile(string filePath){try{filePath = Server.MapPath(filePath);if (File.Exists(filePath)){FileInfo info = new FileInfo(filePath);long fileSize = info.Length;HttpContext.Current.Response.Clear();HttpContext.Current.Response.ContentType = "application/octet-stream";HttpContext.Current.Response.AddHeader("Content-Disposition", "attachement;filename=" + Server.UrlEncode(info.FullName));//指定文件大小   HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());HttpContext.Current.Response.WriteFile(filePath, 0, fileSize);HttpContext.Current.Response.Flush();}}catch{ }finally{HttpContext.Current.Response.Close();}}

3,下面是分块实现下载:

        /// <summary>/// 使用OutputStream.Write分块下载文件  /// </summary>/// <param name="filePath"></param>public void WriteFileBlock(string filePath){filePath = Server.MapPath(filePath);if (!File.Exists(filePath)){return;}FileInfo info = new FileInfo(filePath);//指定块大小   long chunkSize = 4096;//建立一个4K的缓冲区   byte[] buffer = new byte[chunkSize];//剩余的字节数   long dataToRead = 0;FileStream stream = null;try{//打开文件   stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);dataToRead = stream.Length;//添加Http头   HttpContext.Current.Response.ContentType = "application/octet-stream";HttpContext.Current.Response.AddHeader("Content-Disposition", "attachement;filename=" + Server.UrlEncode(info.FullName));HttpContext.Current.Response.AddHeader("Content-Length", dataToRead.ToString());while (dataToRead > 0){if (HttpContext.Current.Response.IsClientConnected){int length = stream.Read(buffer, 0, Convert.ToInt32(chunkSize));HttpContext.Current.Response.OutputStream.Write(buffer, 0, length);HttpContext.Current.Response.Flush();HttpContext.Current.Response.Clear();dataToRead -= length;}else{//防止client失去连接   dataToRead = -1;}}}catch (Exception ex){HttpContext.Current.Response.Write("Error:" + ex.Message);}finally{if (stream != null){stream.Close();}HttpContext.Current.Response.Close();}}

 


转载请注明本文地址: C#实现文件下载
http://www.yayakq.cn/news/731478/

相关文章:

  • 贵阳做网站方舟网络建设银行网站会员登陆
  • 西安网站建设外包药理学网站建设方案
  • 做网站如何选域名桂林漓江旅游
  • 给别人做网站要问什么问题在线教育培训wordpress主题
  • asp门户网站系统外包服务有限公司
  • 17网站一起做网店好不好免费1级做爰片免费网站
  • 合肥能做网站的公司公司招聘网站 哪个部门做
  • 龙岗网站建设网站正在升级建设中源码
  • 小说网站建设目的文登市城乡建设局网站
  • 怎么样给一个网站做自然排名网站 文章 keywords 和主页keywords
  • 惠州网站建设熊掌号淘宝网站建设方案毕业设计
  • 公司建站比较好的公司简介模板及介绍
  • 网站建设的收费标准企商网站建设
  • 企业应用平台手机端网站如何优化
  • 做数据新闻的网站有哪些方面wordpress添加人气博客导航
  • 济南网站建设 伍际网络广西桂林阳朔有哪些旅游景点
  • 网站首页布局设计原理怎么用电脑给域名做网站
  • 选择郑州网站建设广州前20跨境电商公司
  • 在线制作图片网站有哪些明年做那些网站能致富
  • 创建免费网站需要什么条件外贸网站建设商家
  • 天津网站建设 易尔通秦皇岛网站制作源码
  • 中国外贸网站排名专门做本子的网站
  • 卡盟建设vip网站如何开发cms网站
  • 有网站用nodejs做后台手机端网站开发源码
  • 做网站购买什么dw做网站图片运用
  • 旅游网站规划设计与建设wordpress the7 官网
  • 自己的网站怎么接广告哪块行业需要网站建设
  • 国外的做的比较优秀的网站有哪些成都网站设计合理柚v米科技
  • 青海住房和城乡建设厅网站株洲定制型网站建设
  • 深圳网站建设认准乐云游戏门户网站建设