У меня есть динамически сгенерированный файл, инициированный кнопкой на моем веб-сайте (ASP.NET).HTTP-заголовок Content Disposition filename не соблюдается
Результат записывается непосредственно в ответ, так как я не могу создавать временные файлы на сервере (также они конфликтуют, потому что имена файлов будут одинаковыми для всех запросов, но содержимое отличается в соответствии с некоторыми другими данными на страница).
Все работает отлично в IE. В Chrome это не так. Chrome использует имя страницы (допустим, Default.aspx) в качестве имени файла, независимо от того, что находится в заголовке HTTP.
Заголовок HTTP является:
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/vnd.ms-excel
Expires: -1
Server: Microsoft-IIS/8.0
Content-Disposition: : attachment; filename=test.xls
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcSWdvci5SaWJlaXJvXERvY3VtZW50c1xURlNcRXN0aW1hdGVzIGFuZCBQcm9qZWN0aW9uc1xXZWJzaXRlXFBFUFdlYlNpdGVcRGF0YVF1ZXJ5XERlZmF1bHQuYXNweA==?=
X-Powered-By: ASP.NET
Date: Thu, 11 Dec 2014 17:05:19 GMT
Любое решение о том, как заставить Chrome использовать имя файла, заданное вместо имени страницы?
Если единственным вариантом является перенаправление пользователя на URL с именем файла, как бы вы предложили решение, учитывая, что имя файла одинаково для всех, но содержимое должно быть отдельным (по мере их отличия) для каждый запрос?
спасибо.
Иногда мы просто слишком много думаем и не видим, что проблема такая маленькая: D. Большое спасибо. Это определило проблему. – igorjrr