ie下载 txt文件的解决方法
来源:互联网 发布:自制单片机小说阅读器 编辑:程序博客网 时间:2024/03/29 15:21
上周一直在解决一个日志文件保存的问题。做一点简单的记录,希望对今后遇到同类问题的朋友们有帮助。
前提:在我的项目中,是自己移植的http服务器。等有空了,整理一个http服务器工作流程的文档。一直在研究goahead,goahead的分析计划也是因为时间不够搁浅了。可惜啊,真是恨自己时间管理不好。
问题:在ie中,点击一个button,能够下载系统的日志文件,必需是txt格式的。
分析:最开始接到这个问题的时候,我的第一个反应,太简单了。下载txt对http来说是再简单不过了,什么叫http?超文本传输协议,它就是用来做这个事的。
只需要客户端发一个get ***.txt的http请求,服务器做相应的响应,从flash里读出content,写到socket里,转回给客户端就OK了嘛。
是的,就是这样一个简单的实现,花了我整整三个工作日的时间!
过程:首先,做一个简单的demo。
客户端:写一个html。做一个button,加一个onclick事情,重定向到***.txt。
服务端:写一个cgi,处理get ***.txt请求。
一切顺利~
可问题来了:为什么在我的ie上直接把txt的内容显示出来了呢?为什么没有弹出下载的对话框。
马上去百度google一下。发现ie对可以解析的内容,将直接解析出来。
怎么办?换个浏览器试试。用google的浏览器。好的很。
该死的ie,不该聪明的时候自作聪明,害死我们这样可怜的程序员了,也不知道为什么90%的客户都用ie呢!哎~
没办法,向上面反应:
可不可以不用ie。答曰:你跟客户说去!汗~
可不可以用rar格式。答曰:不可以!
几乎崩溃。只好扛下来,继续google。
找到了两种方案,一种是用纯js做的,但是有两个缺陷:
1.只支持ie
2.需要用到弹出窗口
boss又提出要求了:不要老用弹出窗口。
所以,只好用两二种方案了。改http头
最开始的时候,只把Content-type改了,改成了Content-type: application/octet-stream
还是不行。千辛万苦,终于被我找到了,要加上这样一个http头:
在进行Web开发时,可能遇到遇到以下几种需求:
1. 希望某类或者某已知MIME 类型的文件(比如:*.gif;*.txt;*.htm)能够在访问时弹出“文件下载”对话框。
2. 希望客户端下载时以指定文件名显示。
3. 希望某文件直接在浏览器上显示而不是弹出文件下载对话框。
对于上面的需求,使用Content-Disposition属性就可以解决。
Content-Disposition: attachment
Content-Disposition:规定了附件的保存方式。
attachment:附件必须以另存为的方式保存。
终于解决了这个问题。
总结:
1.有时看似简单的问题,其实并不简单
2.多试一次,想想发现Content-Disposition的过程,就是想尽所有办法后的多试一次找到的
3.要有坚定的信念:问题肯定是可以实现的,不要轻言这个实现不了。
- ie下载 txt文件的解决方法
- js 下载 txt文件的解决方法
- IE阻止文件下载,解决方法
- IE下载word文件变成zip文件的解决方法
- .txt文件的下载
- IE执行AJAX,返回JSon出现下载文件的解决方法
- Spring4下载f.txt文件解决方法
- JAVA文件下载,IE不提示下载,直接打开的解决方法
- ie无法下载,我的解决方法!
- IE下载文件名乱码的解决方法
- 让TXT文本等其他任意格式的文件,不在IE中打开,而直接下载的方法
- Linux打开txt文件乱码的解决方法
- 在ASP.NET中,IE与Firefox下载文件带汉字名时乱码的解决方法
- IE上提交表单,返回结果变成文件下载的解决方法
- [ASP.NET]下载txt格式的文件
- PHP生成TXT的下载文件
- 下载txt文件
- txt文件下载
- System.IO.Path
- 记上面的js,整合出可以用的用户控件(asp.net方面)
- 海量空间数据库实施策略---矢量数据6
- C++学习----类模板
- 文件系统摘要
- ie下载 txt文件的解决方法
- 旋转gallery
- 富兰克林与他的13条完美道德准则(为了更顺畅,加了点内容。)
- linux命令别名(linux command alias)
- ISAG 网关接收上行消息和接收订购指令
- eclipse 自动补全的设置,不用按 alt-/ 了
- Windows下JNI生成头文件
- 求佳宜进销存
- eclipse 自动补全的设置,不用按 alt-/ 了