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,浏览器会拦截弹出窗口

     

  • 相关阅读:
    浅析嵌入式程序设计中的优化问题
    TCP粘包问题
    使用python 批量 配对t检验 医学 基础研究 数据分析
    Ubuntu误删系统文件修复办法
    飞思卡尔powerpc交叉编译环境的
    ubuntu packege下载网址
    数组对象里面对日期进行排序
    c# 字符串以逗号分割属性加上单引号
    Vue mysql 变量赋值, 获取数组
    Element vue Select 下拉框默认
  • 原文地址:https://www.cnblogs.com/dashi/p/4034670.html
Copyright © 2011-2022 走看看