Проблема производительности с помощью метода файловой системы.Javascript

Форум по Javascript
Ответить
Anonymous
 Проблема производительности с помощью метода файловой системы.

Сообщение Anonymous »

контекст
Одной из функций моего веб -приложения является копирование файла из A до b на машине пользователя, не в opfs . Пункт назначения (B) представляет собой монтированный NFS, поэтому скорость записи - это скорость загрузки в Интернете. < /P>
Размер файла варьируется от 1 ГБ до 200 ГБ. < /P>
< P> Вот мой код для копирования файла: < /p>

Код: Выделить всё

// Source file
const file = await fileHandle.getFile();

// Destination
const fileDestination = await location.getFileHandle(file.name, { create: true });

const writable = await fileDestination.createWritable();
try {
await writable.write(file);
await writable.close();
}
catch (e) {
console.error(e);
}
проблема
Я заметил, что скорость копирования приведенного выше кода намного медленнее, чем ручная копия с ctrl + c и ctrl + v . Он колеблется в 2 до 10 раз медленнее. > В реальном файле на диске нет изменений, пока поток не будет закрыт. Изменения обычно записываются во временный файл. временный файл. И когда я закрываю поток, временный файл перемещается в фактический пункт назначения файла? Где находится этот временный файл? < /Li>
Как я могу избежать этого? Могу ли я написать непосредственно в файл назначения? -JS PrettyPrint-Override ">

Код: Выделить всё

await file.stream().pipeTo(writable);
Вместо использования метода файловой системы warbiteStream.write () . Но я не уверен, поможет ли это.


Подробнее здесь: https://stackoverflow.com/questions/794 ... ite-method
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»