帝国论坛
→
帝国网站管理系统交流区
→
帝国CMS使用交流
→
IIS实现ie点击txt文件直接下载而不是打开【需要有服务器或vps,能直接设置iis】
【本版专题贴子】
主题:IIS实现ie点击txt文件直接下载而不是打开【需要有服务器或vps,能直接设置iis】
[加入收藏夹]
皮皮虎
用户头衔:进士
精华贴 :0
发贴数 :509
经验值 :2061
注册时间:2008-02-10
信息
搜索
好友
发送悄悄话
【
精益求精-帝国网站管理系统7.5正式版开源发布
】 [第
1
楼]
IIS实现ie点击txt文件直接下载而不是打开【需要有服务器或vps,能直接设置iis】
好多人说 将iis中 txt的MIME类型设置为 application/octet-stream ,这是误人子弟啊,这个方法针对IE是无效的...
如果不需要防盗链功能的话可以使用下面的方式进行下载
<?php
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($_GET['url']));
readfile($filename);
?>
但是我想整合防盗链软件,以附加vsid方式实现防盗链(只有这样的防盗链才能使用迅雷下载并且不会被迅雷盗链)。如果这样,上面的方法就不行了(我的半瓶子php水平是做不出来)。
找到了一篇微软的文章,通过在iis的“自定义http头”(不是mime)中 增加 Content-Type:application/force-download 来实现强制下载,这样会导致网站的所有文件都会被下载,甚至是.html .php .jpg 等等。
所以,我新建了个iis站点, down.01book.net ,同样是指向 跟
www.01book.net
同样的文件目录
这样就保证了
www.01book.net/d/file/xx/xx/xxx.txt
down.01book.net/d/file/xx/xx/xxx.txt
两个地址相同的目录结构,省去了修改地址的麻烦,后台上传后生成的下载地址也直接能用。等于是两个地址都同样可以访问同一个网站(并非同一站点绑定两个域名,而是不同的两个iis站点指向同一个网站文件夹)。
之后,在down.01book.net 这个iis站点的 "自定义http头"中增加
Content-Type:application/force-download 强制该iis站点下的文件为下载模式,这样txt文件就不会被ie直接打开。
Content-Disposition:attachment 这一行保证了,输入 down.01book.net/index.html 时不会显示网站内容。通过down.01book.net这个域名只能用来下载文件。
把网站的下载地址前缀统一改为 down.01book.net,或者在“最终下载地址模板”的 [!--true.down.url--]标签前面加上 down.01book.net 这个二级域名。就可以设置通过这个二级域名来下载txt文件了。
我的最终下载页面
http://www.01book.net/e/DownSys/DownSoft/?classid=1&id=147&pathid=0
上传以下图片:
2010-06-10 02:50:38
已设置保密
顶部
回复
引用
报告
编辑
删除
gaoanw
用户头衔:秀才
精华贴 :0
发贴数 :70
经验值 :484
注册时间:2010-04-30
信息
搜索
好友
发送悄悄话
【
免费开源-EBMA系统:更安全的MYSQL管理和备份系统
】 [第
2
楼]
还不是完美的办法,要新建一个站点。。。
为什么DZ论坛 上传的TXT附件
就直接实现不下载而不是打开呢????
2010-06-10 06:44:42
已设置保密
顶部
回复
引用
报告
编辑
删除
饮水思源
用户头衔:探花
精华贴 :0
发贴数 :4252
经验值 :10215
注册时间:2007-05-29
信息
搜索
好友
发送悄悄话
【
精益求精-帝国网站管理系统7.5正式版开源发布
】 [第
3
楼]
支持一下,还有一种方法就是地址前缀下载方式改成read
[该贴被修改
1
次,最后修改时间
2010-06-10 08:12:27
]
2010-06-10 08:12:20
已设置保密
顶部
回复
引用
报告
编辑
删除
皮皮虎
用户头衔:进士
精华贴 :0
发贴数 :509
经验值 :2061
注册时间:2008-02-10
信息
搜索
好友
发送悄悄话
【
免费开源-EBMA系统:更安全的MYSQL管理和备份系统
】 [第
4
楼]
原帖由
gaoanw
于 2010-06-10 06:44:42 发表
还不是完美的办法,要新建一个站点。。。
为什么DZ论坛 上传的TXT附件
就直接实现不下载而不是打开呢????
那用的 php 文件跳转方式
而我说的是 <a her f=http://xxxx.com/xxxx.txt>下载</a> 直链 txt 文件的方式
2010-06-10 08:12:52
已设置保密
顶部
回复
引用
报告
编辑
删除
快速回复
内容
表情
使用EBB代码
使用smile代码
显示签名
自动分析url
自动分析img
【
进入高级模式
】
(按 Ctrl+Enter 直接提交)
顶部
加入收藏夹
关于帝国
|
广告服务
|
联系我们
|
法律声明
|
隐私条款
|
许可协议
Powered by:
EBB
Version 2.2.1