LINUX.ORG.RU

Заголовки для скачивания файлов.

 


0

1

Пытаюсь отдать файл с сервера. Файл с длинным именем, с пробелами, и потенциально с русскими буквами.
FF, Chrome - всё отлично работает. Opera - ни в какую, предлагает в качестве имени файла 00.
Есть какие-то хаки специально для оперы?
Отдаваемый заголовок:

Content-disposition: attachment;filename*=UTF-8''super_99_2013-08-02%2000%3A00%3A00_2013-08-03%2000%3A00%3A00.csv
Content-encoding: gzip
Content-Type: text/csv; charset=utf-8

Нормальные браузеры делают из этого «super_99_2013-08-02 00-00-00_2013-08-03 00-00-00.csv», Опера же «00.csv».

★★★★★

Последнее исправление: Xellos (всего исправлений: 2)

По стандарту(sic!) там ничего кроме ASCII нельзя, всё остальное - костыли, оно по определению не будет нормально во всех браузерах работать. Проще всего забить и оставить имя в урле, точно везде нормально будет.

Kalashnikov ★★★
()
Ответ на: комментарий от Kalashnikov

В каком урле? У меня нет урла, у меня вообще файл на лету формируется, из чего его сервер строит, я лучше не буду рассказывать.

Тащемта есть RFC 5987, принятый ажно в 2010 году.

Xellos ★★★★★
() автор топика

%3A это двоеточие. Не надо полагаться на то, что в браузер будет встроен костыль, встрой костыль, выпиливающий потенциально недружественные ФС символы, в код.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от Xellos

Потому что опере, как мы видим, лениво фиксить твои двоеточия в предлагаемых именах файлов, и она их тупо режет по живому.

Меня не двоеточие интересует.

Вот самое время заинтересоваться.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от Xellos

Еще раз:

встрой костыль, выпиливающий потенциально недружественные ФС символы, в код.

и не надо будет ни о чем догадываться.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от Xellos

ээ а зачем тебе вообще символы '%' в формируемой строке?

xtraeft ★★☆☆
()
Ответ на: комментарий от thesis

Пока позаменял «*:<>?\%/| на минусы. Посмотрим, как дальше будет. Спасибо.

Xellos ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.