我有一个非常基本的页面,其中包含一个<input type="file">
元素。当我选择一个文件提交表单时,服务器会回复一个在Excel中打开的电子表格(一个“新窗口”)。这种行为的含义是初始屏幕和输入元素在IE中仍然可见。如果我更改所选文件磁盘上的数据并重新提交表单,则Internet Explorer会再次上传旧内容;发送到服务器的内容中没有我最新的更改。如果我再次通过输入的浏览...按钮选择文件,则新文件的内容将按预期上传。 Firefox始终从磁盘发送文件的内容,这是预期/期望的行为。似乎Internet Explorer正在对上传的文件内容进行某种缓存。Internet Explorer缓存文件上传?
有没有什么办法可以禁用这个“功能”,每次提交表单时IE都会从磁盘中提取数据?
有没有关于此行为的任何文档?这是我第一次遇到它,我的搜索很大程度上是空的。
如果它没有缓存* upload *(我从来没有听说过,会很奇怪)但是生成的结果呢?那个结果是发送适当的缓存(或,而不是缓存)标头? – 2015-04-01 21:23:44
@Pekka:服务器日志显示浏览器发出POST请求,并为每次上传尝试返回200 OK。如果缓存响应,我希望看到Internet Explorer完全跳过该请求,或者服务器返回304 Not Modified状态。 – Todd 2015-04-02 13:44:37
服务器端使用什么技术来处理上传和处理文件?您可以记录上传的文件的校验和,看看浏览器是否实际上发送了错误的文件,或者服务器端是否有其他问题 – 2015-04-02 16:31:54