Wie zum Download von mehreren Dateien aus javascript
Ich versuche, mit Fenster.Lage.href in einer Schleife mehrere Dateien herunterladen
Ich habe eine Tabelle, in der ich auswählen kann " Datei ist, dann Lauf ich eine Schleife von ausgewählten und
versuchen Sie, navigieren Sie zu der Datei-Pfad, um die Dateien herunterzuladen.
Ich halte nur immer die Letzte Datei zum download.
Ich denke, es ist aufgrund der Lage herf nur handeln, nachdem meine javascript-abgeschlossen und nicht wie der code ausgeführt wird.
Wenn ich einen Haltepunkt auf die Fenster.Lage.herf es nur noch downloads der letzten Datei und nur wenn ich den code Durchlaufen.
Gibt es eine bessere Art und Weise zu initiieren, mehrere downloads von einer javascript-Schleife.
$("#btnDownload").click(function () {
var table = $('#DocuTable').DataTable();
var rows_selected = table.rows('.selected').data();
$.each(rows_selected, function (i, v) {
window.location.href = v.FilePath;
});
});
- HTML unterstützt nicht mehrere Dateien auf einmal. Sie können erstellen Sie eine GZIP-Dateien um eine Datei zu downloaden, oder erstellen Sie eine
iframe
pro-Datei in Ihre Seite um, Sie alle zu laden - Sie nicht brauchen, um mehrere
iframe
Elemente, wenn Sie könnenwindow.open(url);
- Hum... Du bist wahr ! 🙂
- Öffnen mehrerer Fenster so, selbst self-closing diejenigen, auslösen können popup-Blocker. Iframes sind der Weg zu gehen hier.
- Wenn Sie sagen, erstellen Sie eine GZIP-Datei, ich möchte vermeiden, dass, und verwenden traditionelle Zip statt, so dass alle Benutzer können einfach entpacken Sie es.
- Enos-das ist besser als die Dateien, die verlinkt sind, von der öffnung in versteckten iframes, wenn die header-Typen sind nicht richtig. Wir können nicht davon ausgehen, zu wissen, dass diese Dateien sind alle korrekt verwaltet. Ein Beispiel wäre die Verknüpfung zu Bildern.
- Wenn jemand das extrahieren von ZIP-Dateien (in Windows vielleicht), können Sie auch einfach Dekomprimieren GZIP-IMHA. Ich bevorzuge immer die GZIP transfer-Protokoll, aber fühlen Sie sich frei, ZIP zu benutzen 🙂
- Guter Punkt, wenn Sie das öffnen des eigentlichen content-URL. In etwas wie dieses, würde ich erwarten, dass zum erstellen des links so etwas wie
downloadFile.aspx?file=somefile.txt
wo der server ist verantwortlich für die ordnungsgemäße Gebäude die Antwort-Header - aber wenn dem nicht so ist, dann iframes nicht funktionieren würde. - Windows (zumindest 7, habe ich nicht die 10 vor mir) nicht über eine eingebaute GZip-extractor integriert sich in Windows Explorer. Ich benutze 7-zip-persönlich, aber ich erwarte nicht, dass jeder sowas haben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde die Verwendung von iframes und ein Skript zu zwingen, den download der Dateien als Joe Enos und cmizzi vorgeschlagen haben.
Die Antwort hier wird mit Hilfe von JavaScript für das öffnen mehrere iframes für jede Datei:
Laden Sie mehrere Dateien mit einer einzigen Aktion
Antworten für die gängigen Sprachen dabei helfen wird, zwingen die downloads, wenn die URL ist eigentlich etwas, das bedient werden können, ordnungsgemäß über das web:
Sicherzustellen, dass Sie die Verknüpfungen ändern, zeigen Sie auf Ihre download-Skript und auch stellen Sie sicher, fügen Sie die entsprechenden Sicherheits-checks. Sie würde nicht wollen, dass jemand Missbrauch Ihres Skripts.
In einigen Browsern (zumindest in Google Chrome) unterstützen den Folgen:
JSFiddle: https://jsfiddle.net/padk08zc/