в своей функции я возвращаю FileStreamResult , но в зависимости от имени файла загруженный файл получает странное имя (в некоторых браузерах возвращает имя функции, а в других - имя файла, но все смешанное)
public FileStreamResult _GetFile(long idFile)
{
//////////
/// ... get the object 'file'
//////////
FileStreamResult retorno = null;
if (file != null)
{
var stream = new MemoryStream(file.Bytes);
retorno = File(stream, "binary", file.Name);
}
return retorno;
}
Когда имя файла имеет ударения и определенный размер, возникает ошибка (например, в chrome загружается файл с именем "_ GetFile" )
если имя файла это что-то вроде этого
áá ââ_abcdefghijlmnpqrstuvxzkwy_abcdefghijlmnopqrstuvxzkwy.abc
выдает ошибку
но эти двое не
áâ_abcdefghijlmnpqrstuvxzkwy.abc
aa aa_abcdefghijlmnpqrstuvxzkwy_abcdefghijlmnopqrstuvxzkwy.abc
UPDATE
Я заметил, что Content-Disposition моего заголовка ответа, когда "не работает", выглядит так
Содержание-расположение: приложение; имя_файла = "=? utf-8? B? w6HDoSAgw6LDol9hYmNkZWZnaGlqbG1ucHFyc3R1dnh6a3d5X2FiY2Rl? =% 0d% 0a =? utf-8? B? ZmdoaWpsbW5vcHdL *5x5w566w5x3x163x3x3x1x161c1x161566566366536363636363) 6
показывает два ?utf-8?
, но я до сих пор не понимаю, почему.
(Когда это работает и имя имеет акценты, оно показывает только один ?utf-8?
)
Любая помощь будет оценена!
Спасибо!