Internet Explorer缓存文件上载?

Tod*_*odd 13 internet-explorer caching file-upload

我有一个非常基本的页面,其中包含一个<input type="file">元素.当我提交选择了文件的表单时,服务器会回复一个在Excel中打开的电子表格("新窗口").这种行为的含义是初始屏幕和输入元素在IE中仍然可见.如果我更改所选文件的磁盘上的数据并重新提交表单,Internet Explorer将再次上载旧内容; 发送到服务器的内容中不存在我的最新更改.如果我再次通过输入的"浏览..."按钮选择文件,则会按预期上载新文件内容.Firefox总是从磁盘发送文件的内容,这是预期/期望的行为.似乎Internet Explorer正在对上传的文件内容进行某种缓存.

是否有任何方法可以禁用此"功能"并让IE在每次提交表单时从磁盘中提取数据?

是否有关于此行为的文档?这是我第一次遇到它并且我的搜索很大程度上是空的.

use*_*485 4

您可以通过 MS-Connect 上发布的现场演示来测试该猜想。

[...] 该错误从 IE10 开始,当时实现了 FileList 和 Blob。
input.files是文件/blob 项目的 html5 FileList。
为了填充它,IE 会 blob 每个文件选择器选择。它们具有“快照状态”(W3C 术语)。
它们会保持同步,以防所选文件在提交前更新。
该错误是,IE 无法检测文件是否被删除、重命名或替换。
在这种情况下,文件选择器快照就会过时。

以下是在提交文件选择器选择之前在文件选择器中选择文件,然后重命名编辑文件时发生的情况。尽管新文件(具有原始文件名)已被替换,但原始文件(现在具有不同的 名称和修改后的文本)会以表单形式发送。这怎么可能?就好像它是通过 ntfs ObjectID 进行跟踪的,该 ID 与分布式链接跟踪一起使用。请仔细注意此屏幕截图中的文件名与文件内容不一致。

所以,这根本不是“缓存”的事情。这是一个跟踪错误。