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

      在shareFilesDownload.aspx文件添加如下方法:

    private static string UTF_FileName(string filename)
            {
                return HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8);
            }


    修改Downloadfiles方法():

     private void DownloadFile()
            {
                if (
                    (CurrentPage != null)
                    &&(sharedFile != null)
                    )
                {
                    string downloadPath = Page.Server.MapPath(WebUtils.GetApplicationRoot()
                        + "/Data/Sites/" + this.CurrentPage.SiteID.ToString() + "/SharedFiles/")
                        + sharedFile.ServerFileName;

                    if (File.Exists(downloadPath))
                    {
                        FileInfo fileInfo = new System.IO.FileInfo(downloadPath);
                        Page.Response.AppendHeader("Content-Length", fileInfo.Length.ToString());
                    }

                    string fileType = Path.GetExtension(sharedFile.FriendlyName).Replace(".", string.Empty).ToLowerInvariant();
                   
                    if (fileType == "pdf")
                    {
                        //this will display the pdf right in the browser
                        Page.Response.AddHeader("Content-Disposition", "filename=" + UTF_FileName(sharedFile.FriendlyName));
                    }
                    else
                    {
                        // other files just use file save dialog
                        Page.Response.AddHeader("Content-Disposition", "attachment; filename=" + UTF_FileName(sharedFile.FriendlyName));
                    }

                    //Page.Response.AddHeader("Content-Length", documentFile.DocumentImage.LongLength.ToString());

                    Page.Response.ContentType = "application/" + fileType;
                    Page.Response.Buffer = false;
                    Page.Response.BufferOutput = false;
                    Page.Response.TransmitFile(downloadPath);
                    Page.Response.End();
                }

            }
     

  • 相关阅读:
    【NET】File操作练习笔记
    【微信小程序】分包的使用和预下载
    【微信小程序】组件Component常用案例
    MVCC多版本并发控制
    数据存储引擎
    seata 分布式事务 -- seata-three工程完整代码
    seata 分布式事务 -- seata-two工程完整代码
    seata 分布式事务 -- seata-one 工程完整代码
    seata 分布式事务 -- 准备工作
    seata 分布式事务 -- TCC模式
  • 原文地址:https://www.cnblogs.com/wenjie/p/1389428.html
Copyright © 2011-2022 走看看