最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - Uncaught incorrect header check using pako.js - Stack Overflow

matteradmin4PV0评论
function loadFileAsBinary()
{
    var fileToLoad = document.getElementById("fileToLoad").files[0];

    var fileReader = new FileReader();

    fileReader.onload = function(fileLoadedEvent) 
    {
        var textFromFileLoaded = fileLoadedEvent.target.result;

        var rs       = textFromFileLoaded;

        var charData = rs.split('').map(function(x){return x.charCodeAt(0);}); 
        console.log(charData);

        var bindata  = new Uint8Array(charData);
        console.log(bindata);

        var plain    = pako.inflate(bindata, {to: 'string' });

        var strData  = String.fromCharCode.apply(null, new Uint16Array(plain));

        document.getElementById("inputTextToSave").value = strData;

    };

    fileReader.readAsBinaryString(fileToLoad);
}

I want to inflate upload file but this function gives an error:

Uncaught incorrect header check

function loadFileAsBinary()
{
    var fileToLoad = document.getElementById("fileToLoad").files[0];

    var fileReader = new FileReader();

    fileReader.onload = function(fileLoadedEvent) 
    {
        var textFromFileLoaded = fileLoadedEvent.target.result;

        var rs       = textFromFileLoaded;

        var charData = rs.split('').map(function(x){return x.charCodeAt(0);}); 
        console.log(charData);

        var bindata  = new Uint8Array(charData);
        console.log(bindata);

        var plain    = pako.inflate(bindata, {to: 'string' });

        var strData  = String.fromCharCode.apply(null, new Uint16Array(plain));

        document.getElementById("inputTextToSave").value = strData;

    };

    fileReader.readAsBinaryString(fileToLoad);
}

I want to inflate upload file but this function gives an error:

Uncaught incorrect header check

Share Improve this question edited Jun 25, 2015 at 3:13 Pang 10.1k146 gold badges86 silver badges124 bronze badges asked Jun 25, 2015 at 2:44 이원우이원우 611 gold badge1 silver badge4 bronze badges 0
Add a ment  | 

1 Answer 1

Reset to default 1

I was able to solve the same issue by using r.readAsArrayBuffer(f); and pako.inflate(new Uint8Array( e.target.result ) , {"to":"string"})

Here my code:

function changeInputFile(evt){
    // Retrieve the first (and only!) File from the FileList object
    var f = evt.target.files[0];
    if (f) {
        let r = new FileReader();
        r.onload = function(e) {
            var contents = e.target.result;
            console.debug( "User layout file:\n"
                         + "name: " + f.name + "\n"
                         + "type: " + f.type + "\n"
                         + "size: " + f.size + " bytes\n"
                         )
            );
            try {
                let jsonContent = null;
                if ( f.type == "application/gzip" ) {
                    jsonContent=pako.inflate(new Uint8Array( e.target.result ) , {"to":"string"});
                } else {
                   // ...
                }
                // ...
            } catch(e) {
                console.error(e)
            }
        }
        r.readAsArrayBuffer(f); 
    } else {
        console.error("Failed to load file");
    }
}
Post a comment

comment list (0)

  1. No comments so far