ASP.Net MVC FileStreamResult, допустимые символы для FileDownloadName

У меня есть метод действия, который возвращает FileStreamResult, загрузка работает нормально, проблема в том, что, хотя я устанавливаю свойство FileDownloadName объекта результата, некоторые файлы загружаются с другим именем (в частности, последняя часть адреса страницы Я работаю над. Например, на странице " http://localhost:5479/Items/Edit/277" будет загружен файл с именем "277").

Это происходит, когда имя файла содержит специальные символы (например, "San José.jpg"), но это прекрасно работает, когда в имени нет таких символов (например, "San Jose.jpg").

Итак, мой вопрос, как мне разрешить пользователю загружать файл со специальными символами в его имени? или, если это невозможно, есть метод, который удаляет все специальные символы из строки, или мне нужно создать его?

Спасибо

2 ответа

На самом деле я только что нашел способ это исправить.

По сути, мне нужно использовать метод HttpUtility.UrlEncode для преобразования имени файла. Когда файл загружается, он получает почти то же имя, что и исходный файл (разница в том, что пробелы заменены на плюс (+) знак).

Надеюсь, это поможет кому-то еще.

У меня та же проблема. Лучшее решение HttpUtility.UrlPathEncode(...) так как он не заменяет пробел на '+'.

Другие вопросы по тегам