Вместо того, чтобы копировать, переименуйте filename.ext.crswap в filename.ext
При выполнении этой последовательности
- Получить дескриптор нового файла через
window.showSaveFilePicker
, сказать - Получите доступный для записи файловый поток из дескриптора
- Запишите некоторый контент в файл, используя поток
- поток, чтобы сигнализировать о завершении
API файловой системы записывает и продолжает
close
копии в
Есть ли причина, по которой
filename.ext.crswap
скорее не переименован в
filename.ext
?
1 ответ
Причина такого поведения - избежать частичной записи:
"Пользовательские агенты пытаются гарантировать, что не произойдет частичной записи, т. Е. Файл, представленный
fileHandle
будет либо содержать свое старое содержимое, либо все данные, записанные через поток, до тех пор, пока поток не будет закрыт » - Спецификация .