Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Передача кириллицы в HTTP-заголовке


Автор: oks12 28.5.2012, 07:09
Всем здравствуйте!

Ситуация следующая.
На страницу, в элемент <img>, с помощью WebHandler с сервера возвращается HTTP-ответ, содержащий изображение. В HTTP-заголовке этого ответа, в "Content-Disposition", передаётся наименование файла изображения:
Response.AddHeader("content-disposition", "filename=фото.jpg")

А проблема такая:
Если наименование файла содержит кириллицу, то при попытке сохранить изображение на клиенте (из контекстного меню), в диалоговом окне вместо русских букв отображаются, например, нижние подчёркивания.
Решения, найденные здесь
http://xpoint.ru/forums/programming/j...0645.xhtml
и здесь http://vova-sukhov.livejournal.com/1488.html
не помогли.
Серверная часть написана на VB.NET, браузер - IE6,IE8.

Перекодировку (по-первому предложенному способу) пробовала делать следующим образом:
Код

Dim FotoName As String = "filename=фото.jpg"
Dim unicod As Encoding = Encoding.Unicode
Dim asciicod As Encoding = Encoding.ASCII
Dim uniBytes As Byte() = unicod.GetBytes(FotoName)
Dim ascBytes As Byte() = Encoding.Convert(unicod, asciicod, uniBytes)
Dim new_FotoName As String = asciicod.GetString(ascBytes)
Response.AddHeader("content-disposition", new_FotoName)


Подскажите, в чём может быть загвоздка?

Добавлено через 4 минуты и 10 секунд
Также пробовала передавать наименование файла в кавычках, пробовала перекодировать не в ASCII, а в UTF8 - не помогло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)