Dieses Tag kann in Node.JS konfiguriert werden, um das segmentierte Herunterladen von Dateien zu implementieren. Dieser Artikel stellt Ihnen das segmentierte Herunterladen von Node.JS vor: So implementieren Sie die segmentierte Download-Funktion von Nginx-Konfigurationsdateien. Freunde, die sie benötigen, können darauf verweisen.
Html5 bietet ein neues Range-Tag zum Implementieren der Datei Teile. Dieses Tag kann in Node.JS konfiguriert werden, um das segmentierte Herunterladen von Dateien zu implementieren.
Header-Tag
Anforderungsheader: Dateiinhalt nach 3744 herunterladen
range: bytes=3744-
Return Response Header: Gesamtdateilänge 15522643 Bytes
accept-ranges': 'bytes' content-range': 'bytes */15522643'
Nginx-Konfiguration
Zuerst müssen Sie Nginx so konfigurieren, dass es die Rückgabe von Bereichs-Tags unterstützt. Es ist sehr einfach, add_header Accept-Ranges-Bytes hinzuzufügen Wenn der Knoten nach der Aktivierung Anforderungsinformationen mit dem Bereichsheader sendet, gibt Nginx die bereichsbezogenen Informationen zurück:
Dies ist ein vollständiger Antwortheader. Beachten Sie, dass der
hier nicht der ist Gesamtlänge der Datei, sondern die Gesamtlänge der Datei Die Länge des aktuellen Bereichs.server { listen 80; server_name adksdf.com; location ~ ^/(img/|js/|css/|upload/|font/|fonts/|res/|icon) { add_header Access-Control-Allow-Origin *; add_header Accept-Ranges bytes; root /var/www/...; access_log off; expires max; } ... }
content-length
Die Gesamtgröße der Datei kann anhand des Inhaltsbereichs in diesem Header ermittelt werden.
Node.JS-Implementierung
Dieses Beispiel erkennt zunächst halb heruntergeladene Dateien lokal und erstellt die Datei dann im Lese-/Schreibmodus „r+“. Modus-Stream und schreiben Sie den Antwort-Stream in eine Datei. Fügen Sie hier Bereichsunterstützung zur Kontoauszugsdatei hinzu.
{ server: 'nginx', date: 'Wed, 24 Jan 2018 02:43:20 GMT', 'content-type': 'application/zip', 'content-length': '12420187', 'last-modified': 'Tue, 16 Jan 2018 12:09:47 GMT', connection: 'close', etag: '"5a5deb8b-ecdb53"', expires: 'Thu, 31 Dec 2037 23:55:55 GMT', 'cache-control': 'max-age=315360000', 'access-control-allow-origin': '*', 'accept-ranges': 'bytes', 'content-range': 'bytes 3102456-15522642/15522643' }
Header zurückgeben
Bei der Anfrage kann Nginx andere Statuscodes zurückgeben, z Sagen wir 206 oder 416, die Bedeutung ist wie folgt: 206 Partial ContentGibt einen Teil des Dateiinhalts zurück
416 Requested Range Not Satisfiable
The Der angeforderte Bereich überschreitet die Dateigröße
Das Obige habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein. Verwandte Artikel:Eine Winkelmethode Level-Cache-Anmerkungen (Dekoratoren)
Lösen Sie das Problem, dass Vue-Routing-Änderungsseitendaten nicht aktualisiert werden
Das obige ist der detaillierte Inhalt vonDownload des Node.JS-Segments fortsetzen: Implementierungsmethode für den Download des Nginx-Konfigurationsdateisegments function_node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!