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();
                }

            }
     

  • 相关阅读:
    Linux:备份
    在 Cordova/Phonegap for Android 中包含中文文件名的页面
    jQuery插件开发
    为Google Reader守夜。。。
    冒泡排序
    无题六月
    XXX读后感
    KL25的AD采集操作
    工作流--JBPM简介及开发环境搭建
    内存错误:CRT detected that the application wrote to memory after end of heap buffer
  • 原文地址:https://www.cnblogs.com/wenjie/p/1389428.html
Copyright © 2011-2022 走看看