2017-05-09 3 views
1

Ich habe diese PDF-Datei, die ich in ein Array von Byte-Wertnummern konvertieren muss.Konvertieren von Datei in Array von Bytes Wertnummern

Ich habe es zuvor zu base64 konvertiert, aber die Konvertierung von PDF zu base64 dauerte ewig für eine 2MB PDF. Gibt es eine andere Möglichkeit, um PDF zu base64 schneller zu konvertieren oder konvertieren Sie diese PDF-Datei in Array von Bytes (um zu sehen, ob es schneller als Konvertierung in base64)?

Ich benutze FileReader, um die Datei zuvor in DataURL zu lesen. Unten ist der Code, den ich verwende, um zu base64 zu konvertieren.

getFileContentAsBase64(path, callback) { 
window.resolveLocalFileSystemURL(path, gotFile, fail); 

function fail(e) { 
    alert('Cannot found requested file'); 
} 

function gotFile(fileEntry) { 
    fileEntry.file(function (file) { 
    var reader = new FileReader(); 
    reader.onloadend = function (e) { 
     var content = this.result; 
     callback(content); 
    } 
    reader.readAsDataURL(file); 
    }); 
} 
} 

EDIT:

getFileContentAsBase64(path, callback) { 
window.resolveLocalFileSystemURL(path, gotFile, fail); 

function fail(e) { 
    alert('Cannot found requested file'); 
} 

function gotFile(fileEntry) { 
    fileEntry.file(function (file) { 
    var reader = new FileReader(); 
    reader.onloadend = function (e) { 
     var content = this.result; 
     var array = new Uint8Array(content); 
     var binaryString = String.fromCharCode.apply(null, array); 
     callback(content); 
    } 
    reader.readAsArrayBuffer(file); 
    }); 
} 

} 
+0

http://StackOverflow.com/a/32556944/1848109 Ich denke, Soln ist bereits beantwortet. – Nirus

+0

@Nirus Ich habe diese Lösung gesehen, aber es scheint nicht in meinem Fall zu funktionieren. Ich habe meine Frage oben bearbeitet, um Ihnen zu zeigen, was ich versucht habe. Vielleicht ist meine Logik hinter der Konvertierung falsch ... – Lyon

+0

@Lyon: wird diese Sequenz beim Laden von Skripten beibehalten?

Verwandte Themen