English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS Tutorial di Base

NodeJS Express.js

NodeJS Buffer & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS File (FS)

Altri NodeJS

Caricamento di file Node.js

Node.js carica i file sul server

Caricamento dei file Node.js– In questo tutorial Node.js, impareremo a caricare un file da un client Web su un server Node.js. In altre parole, il client può caricare un file su un server Node.js.

Per caricare un file su un server Node.js, segui le seguenti istruzioni passo-passo:

  1. Moduli necessari

    In questo esempio, utilizzeremo i moduli http, fs e potenti.http: Utilizzato per le attività del server.Node.js fs: Salvare i file caricati in un certaino luogo del server.: Potente: Analizzare i dati del modulo HTML. Se non sono stati installati i moduli sopra menzionati, è possibile installarli immediatamente utilizzando NPM. Eseguire i seguenti comandi nel terminale per installare i vari moduli:

    npm install http npm install fs npm install formidable
  2. Preparare il modulo HTML

    Preparare una pagina HTML con il modulo seguente (upload_file.html), che include etichette di input per il caricamento dei file e la presentazione del modulo.

    <form action="fileupload" method="post" enctype="multipart/form-data">
        <input type="file" name="filetoupload">
        <input type="submit" value="Upload">
    </form>
  3. Creare un server HTTP

    Creare un server HTTP che ascolta sulla porta 8086 (puoi modificare la porta) e fornisce il server per due URL come segue:

    http.createServer(function (req, res) { 
        if (req.url == '/uploadform') { 
            // Se l'URL della richiesta contiene “/uploadform”
            // Riempi la risposta con un file HTML che contiene il modulo caricato
        else if (req.url == '/fileupload') { 
            // Se l'URL della richiesta contiene “/fileupload”
            // Utilizzare moduli potenti
            // Leggere i dati del modulo di form (inclusi i file caricati)
            // E salvare il file in un certaino luogo.
        }  
     }).listen(8086);
  4. Salvataggio dei file

    Utilizzando moduli potenti, analizzare gli elementi del modulo e salvare i file in un certaino luogo. Dopo aver caricato il file, potrebbe essere visualizzato un messaggio che indica il successo del caricamento del file. Inizialmente, il file viene salvato in una posizione temporanea. Possiamo utilizzare il metodo fs.rename() per spostare il file alla posizione desiderata utilizzando un nuovo percorso.

    var form = new formidable.IncomingForm(); 
    form.parse(req, function (err, fields, files) { 
        // oldpath: cartella temporanea in cui è stato salvato il file
        var oldpath = files.filetoupload.path; 
        var newpath = upload_path + files.filetoupload.name; 
        // Copia il file nella nuova posizione
        fs.rename(oldpath, newpath, function (err) { 
            if (err) throw err; 
            // Potresti rispondere con un'altra pagina html
            res.write('File caricato e spostato!'); 
            res.end(); 
        }); 
     });

Esempio di upload di file Node.js

Ecco un esempio completo di lavoro di upload di file Node.js

Questo esempio ha due file, come segue:

upload_file.html

<!DOCTYPE html>
<html>
<head>
<title>Upload File</title>
<style>
    body{text-align:center;} 
    form{display:block;border:1px solid black;padding:20px;} 
</style>
</head>
<body>
    <h1>Upload files to Node.js Server</h1>
 
    <form action="fileupload" method="post" enctype="multipart/form-data">
        <input type="file" name="filetoupload">
        <input type="submit" value="Upload">
    </form>
</body>
</html
var http = require('http'); 
var fs = require('fs'); 
var formidable = require('formidable'); 
 
// 包含上传表单的html文件
var upload_html = fs.readFileSync("upload_file.html"); 
 
// 将其替换为保存上传文件的位置
var upload_path = "/home/arjun/workspace/nodejs/upload_file/"; 
 
http.createServer(function (req, res) { 
    if (req.url == '/uploadform') { 
      res.writeHead(200); 
      res.write(upload_html); 
      return res.end(); 
    else if (req.url == '/fileupload') { 
        var form = new formidable.IncomingForm(); 
        form.parse(req, function (err, fields, files) { 
            // oldpath: cartella temporanea in cui è stato salvato il file
            var oldpath = files.filetoupload.path; 
            var newpath = upload_path + files.filetoupload.name; 
            // Copia il file nella nuova posizione
            fs.rename(oldpath, newpath, function (err) { 
                if (err) throw err; 
                // Potresti rispondere con un'altra pagina html
                res.write('File caricato e spostato!'); 
                res.end(); 
            }); 
        }); 
    }  
 }).listen(8086);

Esegui il file script Node.js nel terminale con Node.js.

arjun@w3codebox:~/workspace/nodejs/upload_file$ node nodejs-upload-file.js

Il file caricato viene salvato accanto al file node.js nodejs-upload-file.js. Puoi modificare questa posizione nel file script node.js.

Apri il browser web (client HTTP), poi clicca sull'URL http://localhost:8086/uploadform

Clicca su Esplora.

Seleziona un file e poi clicca su 'Apri'.

Al momento, il file è stato caricato nel modulo. Clicca sul pulsante Upload di Node.js per analizzare gli elementi del modulo e salvare il file.

Controlla il file script Node.js accanto al server Node.js.

arjun@w3codebox:~/workspace/nodejs/upload_file$ ls
blur1.jpg  nodejs-upload-file.js  upload_file.html

Conclusione:

In questo tutorial Node.js -  Carica file su server Node.jsAbbiamo imparato a utilizzare i potenti moduli fs e http per caricare file su un server Node.js.