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

     

  • 相关阅读:
    POI2012 (持续更新中)
    [BZOJ2797][Poi2012]Squarks
    [BZOJ2796][Poi2012]Fibonacci Representation
    [BZOJ2791][Poi2012]Rendezvous
    [BZOJ2795][Poi2012]A Horrible Poem
    [BZOJ2794][Poi2012]Cloakroom
    纸张概率/期望题
    2016-5-11授课
    bzoj4519: [Cqoi2016]不同的最小割
    poj3693 Maximum repetition substring
  • 原文地址:https://www.cnblogs.com/dashi/p/4034670.html
Copyright © 2011-2022 走看看