【问题标题】:ASP.Net MVC FileStreamResult, valid chars for FileDownloadNameASP.Net MVC FileStreamResult,FileDownloadName 的有效字符
【发布时间】:2011-03-10 06:15:51
【问题描述】:

我有一个返回FileStreamResult的动作方法,下载工作正常,问题是虽然我设置了结果对象的FileDownloadName属性,但有些文件是用另一个名字下载的(特别是地址的最后一部分我正在处理的页面。例如,在页面“http://localhost:5479/Items/Edit/277”中,它将下载一个名为“277”的文件。

当文件名包含特殊字符(例如“San José.jpg”)时会发生这种情况,但当文件名不包含此类字符(例如“San Jose.jpg”)时它会正常工作。

所以,我的问题是,我如何允许用户下载名称中包含特殊字符的文件?或者,如果不可能,是否有一种方法可以从字符串中删除所有特殊字符,还是我必须创建一个?

谢谢

【问题讨论】:

    标签: asp.net-mvc model-view-controller file download filestreamresult


    【解决方案1】:

    其实我刚刚找到了解决这个问题的方法。

    基本上我要做的是使用 HttpUtility.UrlEncode 方法来转换文件的名称,当文件下载时,它会得到与原始文件几乎相同的名称(不同之处在于空格替换为加号(+) 符号)。

    希望这对其他人有所帮助。

    【讨论】:

      【解决方案2】:

      我有同样的问题。更好的解决方案是HttpUtility.UrlPathEncode(...),因为它不会用“+”替换空格。

      【讨论】:

        猜你喜欢
        • 2013-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-10
        • 2012-04-18
        • 1970-01-01
        • 2017-03-23
        • 2021-10-04
        相关资源
        最近更新 更多