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