相应中设置Content-disposition

转载https://www.cnblogs.com/brucejia/archive/2012/12/24/2831060.html

    Content-disposition是MIME协议的扩展,MIME协议指示MIME用户代理如何显示附加的文件。当Internet Explorer接收到头时,它会激活文件下载对话框,他的文件名框自动填充了头中指定的文件名(注意,这时设计导致的,无法使用此功能将文档保存到用户计算机上,而不向用户询问保存位置)

     服务器会向客户端浏览器发送文件时,如果时浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt\jpg等,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理,关键在于一定要加上attachment.

Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");


Content-Disposition:attachment;filename="filename.xls"

    当然filename参数可以包含路径信息,但是user-agnet会忽略掉这些信息,只会把路径信息的最后一部分作为文件名,当你在相应类型为application/octet-stream情况下使用了这个头信息的话,那就意味着你不想直接显示内容,而是弹出一个文件下载的对话框,接下来就是由你来决定打开还是保存了

注意事项:

1.当代码中使用Content-Disposition来确保浏览器弹出下载对话框的时候,response.setheader("Content-Disposition","attachment");一定要确保没有做过关于禁止浏览器缓存的操作,如下:

response.setHeader("Prama","No-cache");

response.setheader("Cache-Control","No-cache");

response.setDateHeader("Expires",0);

不然会发现下载功能在opera和firefox里面好好的没有问题,在IE下边就是不行,就是找不到文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值