У меня есть большая капля для файла rar. Чтобы распаковать его, мне пришлось использовать эту библиотеку. unrar.jsКак объединить два буфера массива в один?
Блаб, с которым я тестирую, составляет около 23 МБ, чтобы прочитатьAsArrayBuffer, а затем передать его unrar.js. Мне пришлось нарезать его.
По какой-то причине unrar.js не очень хорошо работает с нарезанными блоками - это приведет к ошибке неизвестного типа архива, если диапазон разрезанных блоков не начинается с 0 или заканчивается blob.size. -wird? -
Единственным обходным решением, которое я могу придумать, является чтение блоба в виде срезов, а затем его обратно обратно в функцию onloadend. - Это возможно? -
Соберите буферы массивов в одном массиве, затем подайте его на unrar.js, чтобы распаковать файл, как если бы он был прочитан из одного блоба.
Если этот звук слишком раздражает для вас, я был бы признателен за любой другой способ прочитать файлы rar в среде javascript/phonegap.
Это именно то, что я хочу делать. Придется немного упростить его. Один вопрос - это массивный буфер, например fileReader.result? – Zahema
@ Зачет результат типа Uint8Array. Чтобы добраться до ArrayBuffer, например fileReader.result, вам нужно будет использовать result.buffer, это даст вам массив ArrayBuffer, если он указан, но Uint8Array. См. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array –