Записать в большой файл без загрузки всего файла в ОЗУ [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 Записать в большой файл без загрузки всего файла в ОЗУ [закрыто]

Сообщение Anonymous »

Я хотел бы прочитать и записать в большой файл (хранящийся в файловой системе пользователя), используя браузер JavaScript, не загружая весь файл в ОЗУ (он слишком большой, чтобы вписаться в ОЗУ). У меня уже есть код, который позволяет мне прочитать раздел файла без загрузки файла в ОЗУ, но я не могу найти, как написать в файл.class DiskAdapter {
file;

constructor(file) {
this.file = file;
}

async read(address, len) {
let diskFile = this.file;
return new Promise((resolve) => {
let reader = new FileReader();
reader.onload = function() {
resolve(reader.result);
};
let blob = diskFile.slice(address, address + len);
reader.readAsArrayBuffer(blob);
});
}

async write(address, len, data) {
// what goes here?
}
}

document.getElementById("diskImage").addEventListener('change', (changeEvent) => {
let diskFile = changeEvent.target.files[0];
let diskAdapter = new DiskAdapter(diskFile);
console.log(await diskAdapter.read(0, 512)); // read MBR of disk image
});
< /code>
Моя цель состоит в том, чтобы иметь изображение диска (файл .iso или .img), которое можно загрузить в виртуализированной ОС в браузере. Пользователь может затем выполнять задачи в ОС, и изменения будут автоматически сохранены для постоянного хранилища. И я хочу, чтобы изображение диска было легко сменой (пользователь может легко загрузиться из другого ISO или скопировать ISO в другой браузер).

Подробнее здесь: https://stackoverflow.com/questions/797 ... e-into-ram
Ответить

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

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

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

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

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