我们有一个实时数据上传的应用程序,读取连续的流文件。我们在2年前开发了这个逻辑。
在chrome81中,实时文件上传停止工作,原因是 被chrome读取的BLOB文件没有得到更新。 (如果文件数据改变了),它仍然显示旧的Blob。无论文件中添加了什么新数据都不显示。进一步我看到。所有显示旧数据的文件API属性,如File.lastModifiedDate、File.Size等。.
在以前的chrome版本中,当文件内容发生变化时,所有这些属性都会更新。
上传文件的详细信息。当文件增长到1000KB时,FILE API仍然显示大小为49.2KB的旧细节。
我相信这是Chrome 81中的一个新bug,需要解决。如果有其他替代方法,请提供建议。
不幸的是,这个新的行为是工作的目的。网络上的文件对象总是应该是不可改变的快照。不幸的是,过去的Chrome有一些例外,这种行为没有正确实现(主要是因为实现早于规范),这些不一致的地方在M81中得到了修复。
在Chrome中,我们也在尝试使用本地文件系统API(https:/web.devnative-file-system。),它明确地打算支持在文件被修改后仍能从文件中读取的用例,所以这可能是一个替代方案。