Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk memuat naik data dalam nodejs

Bagaimana untuk memuat naik data dalam nodejs

PHPz
PHPzasal
2023-05-24 10:57:36859semak imbas

Node.js ialah penterjemah JavaScript sisi pelayan yang cekap yang biasa digunakan untuk membina aplikasi web berprestasi tinggi, boleh skala dan boleh dikembangkan. Dalam Node.js, memuat naik data ialah salah satu tugas biasa, yang kebanyakannya dicapai melalui permintaan HTTP dan muat naik fail.

Artikel ini akan memperkenalkan cara memuat naik data dalam Node.js, termasuk memuat naik fail dan memuat naik data borang.

1. Node.js memuat naik fail

Dalam Node.js, memuat naik fail melalui borang multipart/form-data ialah kaedah biasa. Pendekatan ini membolehkan kami memuat naik fail pelbagai jenis dan saiz dan menyimpannya di bahagian pelayan. Berikut ialah contoh mudah untuk memuat naik fail:

const http = require('http');
const fs = require('fs');
const formidable = require('formidable');

http.createServer(function (req, res) {
    if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
        var form = new formidable.IncomingForm();
        form.parse(req, function (err, fields, files) {
            var oldpath = files.filetoupload.path;
            var newpath = 'C:/Users/Username/' + files.filetoupload.name;
            fs.rename(oldpath, newpath, function (err) {
                if (err) throw err;
                res.write('File uploaded and moved!');
                res.end();
            });
        });
    } else {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write('<form action="upload" method="post" enctype="multipart/form-data">');
        res.write('<input type="file" name="filetoupload"><br>');
        res.write('<input type="submit">');
        res.write('</form>');
        return res.end();
    }
}).listen(8080);

Kod di atas menggunakan modul yang menggerunkan dalam Node.js, yang boleh membantu kami memproses fail yang dimuat naik. Dalam kod ini, kami mencipta pelayan dan mendengar alamat Apabila memuat naik fail, kami memanggil kaedah IncomingForm() yang menggerunkan dan menghuraikan data yang dimuat naik melalui kaedah parse().

Selepas muat naik berjaya, alihkan laluan sementara fail (path lama) ke laluan baharu (jalan baharu), dan buang pengecualian jika terdapat ralat.

2. Muat naik data borang dengan Node.js

Dalam Node.js, jika anda tidak perlu memuat naik fail tetapi hanya perlu memuat naik data borang, anda boleh menggunakan kaedah berikut:

const http = require('http');

http.createServer(function (req, res) {
    if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
        var body = '';
        req.on('data', function (data) {
            body += data;
        });
        req.on('end', function () {
            var post = qs.parse(body);
            console.log(post);
            res.writeHead(200, {'Content-Type': 'text/plain'});
            res.end('ok');
        });
    } else {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write('<form action="upload" method="post">');
        res.write('<input type="text" name="name"><br>');
        res.write('<input type="text" name="age"><br>');
        res.write('<input type="submit">');
        res.write('</form>');
        return res.end();
    }
}).listen(8080);

Kod di atas menggunakan modul terbina dalam http dan rentetan pertanyaan Node.js. Dalam contoh ini, kami mencipta pelayan dan mendengar alamat untuk mengendalikan permintaan untuk data borang. Apabila kami menyerahkan data borang, permintaan akan dihantar ke pelayan dan pelayan akan mendengar peristiwa data permintaan melalui kaedah on() dan menggunakan modul rentetan pertanyaan untuk menghuraikan data permintaan.

Dalam contoh ini, kami hanya menghuraikan data borang dan mencetak hasilnya ke konsol. Dalam aplikasi praktikal, kami mungkin perlu menyimpan data ini dalam pangkalan data atau menghantarnya ke tempat lain untuk diproses.

Ringkasan

Artikel ini terutamanya memperkenalkan cara memuat naik data dalam Node.js, termasuk memuat naik fail dan memuat naik data borang. Apabila memuat naik fail, anda perlu menggunakan borang berbilang bahagian/data borang, tetapi memuat naik data borang tidak memerlukan muat naik fail Anda hanya perlu memasukkan nama medan borang dan nilai medan dalam data permintaan. Dengan mempelajari kaedah ini, kami boleh mengendalikan keperluan untuk memuat naik data dalam Node.js dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk memuat naik data dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Adakah rentetan nodejs sama?Artikel seterusnya:Adakah rentetan nodejs sama?