Ich habe versucht, eine zipfile von einem Webserver programmatisch mit Javascript herunterladen und vor Herausforderungen mit dem Archiv beschädigt werden.Das Herunterladen von Zipfile führt zu Dateikorruption
ich die folgende Funktion bin mit
function download(){
var http = new XMLHttpRequest();
http.open("GET", 'http://jadonchemicals.com/sample.zip');
http.setRequestHeader("dataType", "jsonp");
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200)
{
var blobdata=new Blob([http.responseText], {type: "application/zip"});
var a = document.createElement("a");
a.href = window.URL.createObjectURL(blobdata);
a.click();
}
};
http.send();
}
ich die folgenden Fehler bekommen herunterladen, wenn ich versuche, das Archiv zu öffnen
a) The file header is corrupt
b) unexpected end of archive
Als Beispiel, während die Datei sample.zip Download auf Mit diesem Link wird die Datei auf eine Größe von 975k heruntergeladen. http://jadonchemicals.com/Blobtozip/
Wenn ich versuche, durch die Verknüpfung das Skript auf eine Schaltfläche, um die gleiche programmatisch mit Hilfe von Javascript zu tun, um 1779k die Dateigröße zunimmt und die Datei
beschädigt Ich vermute, das ein Ergebnis einer Codierung Problem. Könnten Sie mir vorschlagen, was ich tun sollte, um es zu lösen?
danke @ 0liveradam8 ... Ich vermisste erwähnen einen kritischen Teil der Notwendigkeit. Außerdem müssen wir die Datei an einen Cloud-Server senden und daher versuchen, die Datei in LocalStorage aus dem Blob zu erstellen. Wenn ich herunterlade, kann ich das nicht automatisch machen. Das Erstellen der Datei verursacht die Korruption – user7995357
Vielleicht kann dieser Beitrag https://stackoverflow.com/questions/21008732/javascript-save-blob-to-localstorage Ihnen helfen, Blob zu localStorage zu speichern. – 0liveradam8