


Node.JS implémente le téléchargement segmenté des fichiers de configuration pour les téléchargements de CV segmentés
Cette fois, nous vous proposons Node.JS pour implémenter le téléchargement segmenté du fichier de configuration , et Node.JS pour implémenter le téléchargement segmenté du fichier de configuration pour un CV segmenté. sont les précautions pour le téléchargement de segments ? Ce qui suit est un cas pratique, jetons un coup d'oeil.
Balise d'en-tête
En-tête de demande : télécharger le contenu du fichier après 3744
range: bytes=3744-
En-tête de réponse de retour : longueur totale du fichier 15522643 octets
accept-ranges': 'bytes' content-range': 'bytes */15522643'
Configuration Nginx
Tout d'abord, vous devez configurer Nginx pour prendre en charge le retour des balises de plage. Il est très simple d'ajouter des octets add_header Accept-Ranges ; Cette ligne peut être
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; } ... }
. Après l'activation, si le côté node.js envoie des informations de demande contenant l'en-tête de plage, alors nginx renverra des informations relatives à la plage :
Il s'agit d'un en-tête de réponse complet. Notez que content-length
ici n'est pas la longueur totale du fichier, mais la longueur de la plage actuelle.
{ 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' }
La taille totale du fichier peut être obtenue en fonction de la plage de contenu de cet en-tête.
Implémentation de Node.JS
Cet exemple détecte d'abord les fichiers à moitié téléchargés localement, puis crée un flux de fichiers en mode lecture-écriture « r+ » et écrit le flux de réponse dans le fichier.
Ici, la prise en charge de la plage sera ajoutée au fichier de déclaration.
var reqOptions = { url: packageUrl, headers: {} } var filepath = '/path/to/your/part/file' var fileOptions = {} fs.stat(filepath, function(err, states) { if (states) { //Range: bytes=3744- reqOptions.headers['range'] = 'bytes=' + states.size + '-' fileOptions = { start: states.size, flags: 'r+' } } //创建 http 对象方法 var reqUrl = reqOptions.url var urlObj = url.parse(reqUrl) var options = { hostname : urlObj.hostname , port : urlObj.port , path : urlObj.pathname , headers : reqOptions.headers || {} } var req = http.request(options, function(res) { var receives = [] var err = null var statusCode = res.statusCode var headers = res.headers var ws = fs.createWriteStream(filepath, fileOptions) ws.on('error', function(e) { console.log('ws error', e) }) res.on('data', function(chrunk) { ws.write(chrunk) }) res.on('error', function(err) { ws.end() }) res.on('end', function() { ws.end() }) }) req.on('error', function(e) { cb && cb(e, null, {}) }) req.end() ... })
Retour à l'en-tête
Lors de la demande de nginx, d'autres codes d'état peuvent être renvoyés, tels que 206 ou 416, avec la signification suivante :
206 Contenu partiel
Ce qui est renvoyé fait partie du contenu du fichier
416 Plage demandée non satisfaisante
La plage demandée dépasse la taille du fichier
Je pense que vous maîtrisez la méthode de lecture de cet article. Pour plus de passionnant, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois ! Lecture recommandée :Comment gérer les sous-itinéraires qui ne s'affichent pas dans la barre de navigation inférieure de vue.js
Comment implémenter la randomisation dans JS Switch WeChat ID
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

Récemment, de nombreux utilisateurs du système Win10 souhaitent modifier le profil utilisateur, mais ils ne savent pas comment le faire. Cet article vous montrera comment définir le profil utilisateur dans le système Win10 ! Comment configurer un profil utilisateur dans Win10 1. Tout d'abord, appuyez sur les touches « Win+I » pour ouvrir l'interface des paramètres, puis cliquez pour accéder aux paramètres « Système ». 2. Ensuite, dans l'interface ouverte, cliquez sur « À propos » sur la gauche, puis recherchez et cliquez sur « Paramètres système avancés ». 3. Ensuite, dans la fenêtre contextuelle, passez à la barre d'options "" et cliquez sur "Configuration utilisateur" ci-dessous.

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Helm est un composant important de Kubernetes qui simplifie le déploiement des applications Kubernetes en regroupant les fichiers de configuration dans un package appelé HelmChart. Cette approche rend la mise à jour d'un seul fichier de configuration plus pratique que la modification de plusieurs fichiers. Avec Helm, les utilisateurs peuvent facilement déployer des applications Kubernetes, simplifiant ainsi l'ensemble du processus de déploiement et améliorant l'efficacité. Dans ce guide, j'aborderai différentes manières d'implémenter Helm sur Ubuntu. Remarque : les commandes du guide suivant s'appliquent à Ubuntu 22.04 ainsi qu'à toutes les versions d'Ubuntu et aux distributions basées sur Debian. Ces commandes sont testées et devraient fonctionner correctement sur votre système. en U
