Вместо того, чтобы копировать, переименуйте filename.ext.crswap в filename.ext

При выполнении этой последовательности

  • Получить дескриптор нового файла через window.showSaveFilePicker, сказать
  • Получите доступный для записи файловый поток из дескриптора
  • Запишите некоторый контент в файл, используя поток
  • поток, чтобы сигнализировать о завершении

API файловой системы записывает и продолжает close копии в

Есть ли причина, по которой filename.ext.crswap скорее не переименован в filename.ext?

1 ответ

Причина такого поведения - избежать частичной записи:

"Пользовательские агенты пытаются гарантировать, что не произойдет частичной записи, т. Е. Файл, представленный fileHandleбудет либо содержать свое старое содержимое, либо все данные, записанные через поток, до тех пор, пока поток не будет закрыт » - Спецификация .

Другие вопросы по тегам