美文网首页
网页下载文件问题

网页下载文件问题

作者: 凌雲木 | 来源:发表于2018-04-23 08:45 被阅读25次

文件下载所需要的注意事项。
1 Content-disposition
Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名。(请注意,这是设计导致的;无法使用此功能将文档保存到用户的计算机上,而不向用户询问保存位置。)
服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理,关键在于一定要加上attachment:

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

备注:这样浏览器会提示保存还是打开,即使选择打开,也会使用相关联的程序比如记事本打开,而不是IE直接打开了
1 客户端下载时文件名乱码问题
将文件名通过UrlPathEncode编码(通过UrlEncode编码不能解决文件名出现的空格问题,下载时空格会编译成加号,UrlEncode是将整个URL编码,而UrlPathEncode只是将URL中的Path部分编码)

        string encodeFileName = HttpUtility.UrlPathEncode("售楼管 理系统.rar");

        Context.Response.AddHeader("Content-Disposition",

         string.Format("attachment;filename=\"{0}\"",encodeFileName));

        Context.Response.WriteFile("售楼管理系统.rar"); 

相关文章

网友评论

      本文标题:网页下载文件问题

      本文链接:https://www.haomeiwen.com/subject/eskklftx.html