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

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

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");
    }
}

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745652895a4638371.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信