Проблема с загрузкой файлов в последних версиях браузера

#javascript #jquery #ajax #google-chrome #mime-types

#javascript #jquery #ajax #google-chrome #mime-типы

Вопрос:

Я вижу различное поведение при загрузке моего файла в версиях Chrome ниже v / s выше. По сути, я динамически отправляю форму, созданную внутри iframe, чтобы получить ответ на загрузку файла с сервера.

 $(iframe_doc).find('form').submit();
 

Вот одно отличие, которое я могу наблюдать (что совершенно странно). Таким образом, это PDF-файл, который загружается / отображается в виде печати.

Он отлично работает в более старых версиях, и я вижу ответ от сервера именно так.

 7867868JHGJGHJGH778
 

Однако в последней версии Chrome я не вижу, чтобы файл загружался, и вижу ответ как

 <!doctype html><html><body style='height: 100%; width: 100%; overflow: hidden; margin:0px; background-color: rgb(82, 86, 89);'><embed name='7867868JHGJGHJGH778' style='position:absolute; left: 0; top: 0;'width='100%' height='100%' src='about:blank' type='application/pdf' internalid='7867868JHGJGHJGH778'></body></html>
 

Есть ли причина, по которой сам ответ на стороне сервера будет отличаться между более низкой и более высокой версиями и почему он не будет работать в более высокой версии Chrome?

Комментарии:

1. Ну, ничего не зная о вашем сервере, все, что я могу предложить, это изучить заголовки запросов и ответов. В ответе должен быть Content-Type заголовок, чтобы идентифицировать загрузку как вложение. У меня значительный опыт работы с действиями по загрузке файлов, и я не заметил каких-либо недавних изменений в версиях Chrome.

2. Да, заголовок типа содержимого присутствует в ответе и отображается как application / pdf; charset=UTF-8

3. Но странно то, почему сам ответ сервера отображается в совершенно другом формате между более низкой и более высокой версиями!

4. У него также есть Content-Disposition заголовок?

5. Я не знаю, почему ответ вашего сервера отличается, но опять же, я ничего не знаю о вашем сервере.