Как я могу создать объект файла через байтовый массив - PullRequest
0 голосов
/ 19 октября 2019

Я получил этот массив из файла [0] -> blob.slice -> filereader.asArrayBuffer -> Uint8Array

array = [37, 80, 68, 70, 45, 49, 46, 51, 13, 10, 37, 226, 227, 207, 211, 13, 10, 13, 10, 49, 32, 48, 32, 111, ...]

Как могЯ делаю реверс инженера? Создать новый объект File из вышеуказанного массива?

Я создаю объект файла через

bytes = [37, 80, 68, 70, 45, 49, 46,51, 13, 10, 37, 226, 227, 207, 211, 13, 10, 13, 10, 49, 32, 48, 32, 111, 98, 106, 13, 10, 60, 60, 13, 10,47, 84, 121, 112, 101, 32, 47, 67, 97, 116, 97, 108, 111, 103, 13, 10, 47, 79, 117, 116, 108, 105, 110, 101, 115,32, 50, 32, 48, 32, 82, 13, 10, 47, 80, 97, 103, 101, 115, 32, 51, 32, 48, 32, 82, 13, 10, 62, 62, 13,10, 101, 110, 100, 111, 98, 106, 13, 10, 13, 10, 50, 32, 48, 32, 111, 98, 106]

let testFile = new File ([bytes], "application / pdf")

let testFile = new File (bytes, "application / pdf")

Имеет ли смысл мой код? Если нет, как мне преобразовать эти байты в правильный?

Uncaught TypeError: Невозможно прочитать свойство 'toString' из неопределенного

content = Uint8Array.from([37, ... 106])

file = new File([content])

reader.readAsArrayBuffer(file);

reader.onload = function (e) {
    const fileType = doTask(e.target.result);

}

function doTask(arrBuffer) {
    const byteArray = [];
    for (let i = 0; i < 4; i++) {
        byteArray.push(arrayBuffer[i]);
    }
    let headerContent = '';

    // Create the headerContent
    for (let i = 0; i < byteArray.length; i++) {
        headerContent += byteArray[i].toString(16);
    }
    // Uncaught TypeError: Cannot read property 'toString' of undefined

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...