При просмотре отчета есть возможность сохранить его прямо из Viewer'а во множество форматов, например PDF.
Если отчет имеет русскоязычный Report Alias, то IE 11 по умолчанию предлагает имя файла в виде кракозяблов. В Хроме все в порядке.
Проблема легко воспроизводится на Demo, проект "Using Viewer, Razor".
Надо задать для файла .mrt русскоязычный Report Alias и попробовать выбрать команду Save при просмотре отчета.
Мы такую проблему решали так:
Код: Выделить всё
/// <summary>
/// Установить Http-заголовок, с именем скачиваемого файла, с учётом обработки UTF-8 в разных браузерах
/// </summary>
/// <param name="httpContext">Http-контекст</param>
/// <param name="fileName">Имя файла, с которым браузер предложит пользователю сохранить файл</param>
public static void SetDownloadFileName(this HttpContextBase httpContext, string fileName)
{
if (httpContext == null || httpContext.Response == null)
{
return;
}
var browser = httpContext.Request != null && httpContext.Request.Browser != null ? httpContext.Request.Browser.Browser : null;
string headerValue;
switch (browser)
{
case "IE":
case "InternetExplorer":
headerValue = "attachment; filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8);
break;
case "Firefox":
headerValue = "attachment; filename=" + fileName.Replace(" ", "+");
break;
default:
headerValue = "attachment; filename=" + fileName;
break;
}
headerValue += "; filename*=UTF-8''" + HttpUtility.UrlEncode(fileName, Encoding.UTF8);
httpContext.Response.AppendHeader("Content-Disposition", headerValue);
}
}