zoukankan      html  css  js  c++  java
  • 文件下载解决中文乱码

           string path = "需要下载的文件路径";

                   if (File.Exists(path))

                   {

                       if (!".zip.rar.".Contains(Path.GetExtension(path) + "."))

                       {

                           Response.Write("不允许此类文件的下载!");

                           return;

                       }

                       string name = Path.GetFileName(path);

                       if (string.IsNullOrEmpty(name))

                       {

                           name = new FileInfo(path).Name;

                       }

                       Response.Clear();

                       if (Request.Browser.Browser == "IE")

                       {

                          name= HttpUtility.UrlPathEncode(name);

                       }

        

                       Response.AddHeader("Content-Disposition",

                                          "attachment;filename=\"" +name + "\"");

                       byte[] buffer = File.ReadAllBytes(path);

                       Response.AddHeader("Content-Length", buffer.Length.ToString());

                       Response.ContentType = "application/zip;charset=utf-8";

                       Response.BinaryWrite(buffer);

     

                   }

                   else

                   {

                       Response.Write(string.Format("文件{0}不存在!", path));

                   }

     

    //另外需注意打开此页面时应使用window.location.href

    而不用window.open,浏览器会拦截弹出窗口

     

  • 相关阅读:
    centos7安装webmin
    webmin账户重置密码
    gitlab访问用户安装的postgresql数据库
    更改配置:远程访问gitlab的postgresql数据库
    将gitlab中的postgresql数据库开通远程访问
    python的前后端分离(一):django+原生js实现get请求
    强制禁用gitlab的双因子认证:Two-Factor Authentication
    gitlab小结
    mysql DML语句
    基于memcache的缓存机制的6个指令
  • 原文地址:https://www.cnblogs.com/dashi/p/4034670.html
Copyright © 2011-2022 走看看