Ошибка «Повторяющиеся заголовки, полученные с сервера» в Chrome 16 с EPPlus 2.9

Я играю с EPPlus 2.9 и по какой-то причине получаю Duplicate headers received from server ошибки при попытке загрузить сингл .xlsx файлов с помощью Chrome 16 (отлично работает в IE9).

Я использую это руководство, и я сузил проблему до этой строки кода:

        Response.AppendHeader("Content-Disposition",
        "attachment; " +
        "filename=\"ExcelReport.xlsx\"; " +
        "size=" + fileBytes.Length.ToString() + "; " +
        "creation-date=" + DateTime.Now.ToString("R") + "; " +
        "modification-date=" + DateTime.Now.ToString("R") + "; " +
        "read-date=" + DateTime.Now.ToString("R"));

Мой юзерагент:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7

Я прочитал на этой странице форума Chrome, что Chrome не любит запятые (,) в заголовках Content-Disposition и их следует заменить точкой с запятой (;).

У кого-нибудь есть идеи или возникают те же ошибки?


person Greg    schedule 26.01.2012    source источник


Ответы (3)


Я тупой, DateTime.Now.ToString("R") производит Thu, 26 Jan 2012 02:05:44 GMT

Я исправил это, сделав это:

String timestamp_without_commas = DateTime.Now.ToString("R").Replace(",","");

Response.AppendHeader("Content-Disposition",
    "attachment; " +
    "filename=\"ExcelReport.xlsx\"; " +
    "size=" + fileBytes.Length.ToString() + "; " +
    "creation-date=" + timestamp_without_commas + "; " +
    "modification-date=" + timestamp_without_commas + "; " +
    "read-date=" + timestamp_without_commas);

Я привык, что IE капризничает, а Chrome играет хорошо...

person Greg    schedule 26.01.2012
comment
Была аналогичная проблема. У нас были запятые в имени файла... Спасибо - person NotMe; 03.08.2012

У меня была такая же проблема, и у меня также была точка с запятой после вложения. Я обнаружил, что моя проблема заключалась в наличии запятых в имени файла. Поэтому я заменил их тире.

person kyleb    schedule 15.01.2013

person    schedule
comment
Просто для информации, имя файла должно быть заключено в кавычки: имя_файла= + \ + exportFileName + \ + ; потому что в Firefox есть ошибка, из-за которой он усекает имя после первого пробела, если имя файла не заключено в кавычки. Ссылка на kb.mozillazine.org/ - person Hans Petter Naumann; 09.04.2014