2016年1月17日,开通了博客园自己的博客
2016-01-17 15:38
316 查看
刚刚申请的时候还是非常急切地想知道,什么时候能收到管理员同意自己开通的通知,没想到刚一收到的时候,自己开始纠结第一篇文章写点什么。我想,不如来分享自己的一小段代码吧?
其实这个很简单,但是我研究了很久,自己思考的也挺乱的。
我先想到改HttpContext.Current.Response(以下简称Response)的ContentType属性为"application/msword",然后使用Response的WriteFile()方法来把文件写入Http响应当中。结果失败了,操作完成后(首页一个按钮提交文件给此Handler.ashx,经过处理后形成一个word文档)浏览器下载了Handler.ashx文件,打开是乱码,从大小估计,应该这就是我所要的文件了,只不过文件名和拓展名都不是我想要的而已。
于是我在百度上找到了一篇文章,提到这个使用Response告知浏览器下载文件时,Response的ContentType应该是:"application/octet-stream",同样使用了Response.WriteFile()方法后,得到的就是我想要的文件了。
同时值得一提的是,上面我是用的backup_file变量,它的值实际上是文件在我的主机上的物理路径,把这个路径给了该方法,才成功实现了需求。
在tool.oschina.net/commons的HTTP ContentType查询中,我得到的结果是:
我所输出的其实是这样一个二进制流。
var Response = HttpContext.Current.Response; Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName.Substring(0, FileName.Length - 5) + ".doc"); Response.WriteFile(backup_file);//backup_file 是之前定义好的文件名。
其实这个很简单,但是我研究了很久,自己思考的也挺乱的。
我先想到改HttpContext.Current.Response(以下简称Response)的ContentType属性为"application/msword",然后使用Response的WriteFile()方法来把文件写入Http响应当中。结果失败了,操作完成后(首页一个按钮提交文件给此Handler.ashx,经过处理后形成一个word文档)浏览器下载了Handler.ashx文件,打开是乱码,从大小估计,应该这就是我所要的文件了,只不过文件名和拓展名都不是我想要的而已。
于是我在百度上找到了一篇文章,提到这个使用Response告知浏览器下载文件时,Response的ContentType应该是:"application/octet-stream",同样使用了Response.WriteFile()方法后,得到的就是我想要的文件了。
同时值得一提的是,上面我是用的backup_file变量,它的值实际上是文件在我的主机上的物理路径,把这个路径给了该方法,才成功实现了需求。
在tool.oschina.net/commons的HTTP ContentType查询中,我得到的结果是:
.*( 二进制流,不知道下载文件类型) | application/octet-stream |
相关文章推荐
- ECIF与CRM
- 02-xjson起步
- KVC中setValuesForKeysWithDictionary:
- 视图、事务、索引
- wowddfdfefd
- 3275: Number 最小割
- perl模块
- 安卓开发中高级组件之选项卡的应用
- wc2014 紫荆花之恋
- 未排序数组中累加和为给定值的最长子数组
- 使用Python Pandas处理亿级数据
- Android源码学习之二-Activity如何管理对话框
- DateUtil
- mysql概要(十三)备份和恢复
- imagenet原图片下载地址
- 如何将两个有重复字符在内的字符串合并成一个,并且排序
- 购物车案例——麻雀虽小五脏俱全(小标签 浮动 定位……)
- 【CODEVS1219】骑士游历
- 安装pip ---python windows
- 查询sql server 2008所有表和行数