Google Chrome 81 FILE API: размер, дата последнего изменения и информация о большом двоичном объекте не обновляются при изменении содержимого файла

У нас есть приложение для загрузки данных в режиме реального времени, которое считывает непрерывный потоковый файл. Мы разработали эту логику за 2 года до этого.

В Chrome 81 загрузка файлов в реальном времени перестала работать, потому что файл BLOB, прочитанный Chrome, не обновляется (если данные файла изменились), он по-прежнему показывает старый Blob. Любые новые данные, добавленные в файл, не отображаются. Кроме того, я вижу, что все свойства File API показывают старые данные, например. File.lastModifiedDate, File.Size.

В предыдущих версиях Chrome все эти свойства обновлялись при изменении содержимого файла.

Сведения о загруженном файле. Размер файла увеличился до 1000 КБ, FILE API по-прежнему показывает старые данные размером 49,2 КБ.

Я считаю, что это новая ошибка в Chrome 81, которую необходимо устранить. Пожалуйста, совет, если их альтернатива.


person Sangram Sable    schedule 04.05.2020    source источник


Ответы (1)


К сожалению, это новое поведение работает по назначению. Файловые объекты в Интернете всегда должны были быть неизменяемыми снимками. К сожалению, в прошлом у Chrome было несколько исключений, когда это поведение не было реализовано должным образом (в основном потому, что реализация предшествовала спецификации), и эти несоответствия были исправлены в M81.

В Chrome мы также экспериментируем с Native File System API (https://web.dev/native-file-system/), который явно поддерживает возможность чтения из файлов даже после их изменения, так что это может быть альтернативой.

person Marijn    schedule 05.05.2020