このタグを Node.JS で構成して、ファイルのセグメント化されたダウンロードを実装できます。この記事では、Node.JS の分割ダウンロードについて紹介します。Nginx 設定ファイルの分割ダウンロード機能を実装する方法を説明します。必要な友達は参考にしてください。
Html5 では、ファイルの分割ダウンロードを実装するための新しい Range タグが提供されています。このタグを Node.JS で構成して、ファイルのセグメント化されたダウンロードを実装できます。
ヘッダータグ
Requestリクエストヘッダー: 3744以降のファイルコンテンツをダウンロードします
range: bytes=3744-
Return Response Header: ファイルの合計長は15522643バイトです
accept-ranges': 'bytes' content-range': 'bytes */15522643'
Nginx構成
まず、node.js 側で add_header Accept-Ranges バイトを追加するのは非常に簡単です。範囲ヘッダーを含むリクエスト情報を送信すると、nginx は範囲に関連する情報を返します:
これは完全な応答ヘッダーです。ここでの
はファイルの全長ではなく、現在の範囲の長さであることに注意してください。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
このヘッダーのコンテンツ範囲に基づいてファイルの合計サイズを取得できます。
Node.JS 実装
この例では、まずローカルで半分ダウンロードされたファイルを検出し、次に「r+」読み取り/書き込みモードでファイル ストリームを作成し、応答ストリームをファイルに書き込みます。 ここでは、ステートメントファイルに範囲サポートを追加します。
{ 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' }
ヘッダーを返す
nginx をリクエストすると、206 や 416 などの他のステータス コードが返される場合があり、その意味は次のとおりです: 206 部分的なコンテンツ 部分的なファイル コンテンツを返します
4 16要求された範囲が満足できません
要求された範囲がファイル サイズを超えています
上記は、皆さんのためにまとめたものです。今後皆さんのお役に立てれば幸いです。 関連記事:Angularメソッドレベルのキャッシュアノテーション(デコレータ)
Vueルーティング変更ページデータの解決策 リフレッシュ問題
以上がNode.JSセグメントレジュームダウンロード:Nginx設定ファイルセグメントダウンロードの実装方法 function_node.jsの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。