У меня есть очень простая страница, которая содержит элемент <input type="file">
. Когда я отправляю форму с выбранным файлом, сервер отвечает электронной таблицей, которая открывается в Excel («новое окно»). Следствием этого является то, что начальный экран и элемент ввода все еще видны в IE. Если я изменю данные на диске выбранного файла и повторно отправлю форму, Internet Explorer загрузит старое содержимое во второй раз; мои последние изменения отсутствуют в содержимом, отправленном на сервер. Если я снова выберу файл с помощью кнопки «Обзор ...», содержимое нового файла будет загружено, как и ожидалось. Firefox всегда отправляет содержимое файла с диска, что является ожидаемым/желаемым поведением. Кажется, что Internet Explorer делает какое-то кэширование загруженного содержимого файла.Загрузка файлов кэширования в Internet Explorer?
Есть ли способ отключить эту «функцию» и заставить IE извлекать данные с диска каждый раз при отправке формы?
Есть ли какая-либо документация по этому вопросу? Это первый раз, когда я столкнулся с этим, и мои поиски в значительной степени опустели.
Что делать, если он не кэширует * upload * (о котором я никогда не слышал и был бы действительно странным), но сгенерированный результат? Этот результат отправляет правильные кеширующие (или, скорее, не кэширующие) заголовки? –
@Pekka: Журналы сервера показывают браузер, выполняющий запрос POST, и возвращают 200 OK для каждой попытки загрузки. Если бы он кэшировал ответ, я ожидал, что Internet Explorer вообще пропустит запрос или сервер вернет статус 304 Not Modified. – Todd
Какая технология используется на стороне сервера для обработки и обработки файла? Вы можете зарегистрировать контрольные суммы загруженных файлов, чтобы увидеть, действительно ли браузер отправляет неверный файл или что-то не так на стороне сервера. –