Amazon S3, получая «Дублированные заголовки получены» при попытке загрузить файл - PullRequest
3 голосов
/ 06 декабря 2011

Это происходит только в Chrome, прекрасно работает в Safari.Chrome жалуется на получение дублирующих заголовков размещения контента.Когда я загружаю файл в S3, я устанавливаю расположение содержимого, чтобы я мог назвать файл при загрузке, а также убедиться, что он загружается как вложение (не встроенное).

Вот что я получаю конкретно:

enter image description here

Ответы [ 4 ]

2 голосов
/ 03 октября 2013

Когда я столкнулся с этой ошибкой, это было потому, что у меня было что-то вроде этого:

Response.AddHeader("Content-Disposition", "attachment;filename=file,withcomma.pdf")

Chrome интерпретирует это как два заголовка Content-Disposition: "attachment: filename = file" и "withcomma.pdf".

Заключение имени файла в кавычки решило проблему для меня:

Response.AddHeader("Content-Disposition", "attachment;filename=\"file,withcomma.pdf\"")
0 голосов
/ 22 апреля 2014

Ошибка дублированного заголовка в Chrome - это ошибка с заголовком HTML: «Content-disposition: attachment», когда имя файла идет с запятой (ями).

Решение здесь, мы просто добавляем двойные кавычки (") между именами файлов в качестве примера:

Response.AddHeader("Content-Disposition", "attachment;filename=\"file,withcomma.pdf\"")

И это решение работает для всех браузеров (как я тестировал на IE11, Chrome, Firefox)

0 голосов
/ 28 февраля 2014

Оригинальный код:

header("Content-Disposition: attachment; filename=$displayname");

изменен:

header('Content-Disposition: attachment; filename="'.$displayname.'"');
0 голосов
/ 06 декабря 2011

Я видел твой вопрос и только что решил мой, хотя мой код - asp.net. Я начал получать эту ошибку сегодня, Chrome, должно быть, добавил более строгую обработку заголовков. В любом случае, моя ошибка оказалась той частью, где я установил заголовок размещения содержимого.

Вместо

Response.AppendHeader («Расположение содержимого», «вложение, имя файла = abcdxyz.pdf»)

Я изменил его на

Response.AppendHeader ("Content-Disposition", "attachment; filename = abcdxyz.pdf")

Запятая, казалось, вызывала какую-то проблему, переключение на точку с запятой, похоже, решало ее. Теперь он работает нормально для меня, но я должен отметить, что я не знаком с Amazon S3 (вообще), поэтому, может быть, я отключен, но, поскольку он только что работал для меня, возможно, он будет работать для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...