Memuat naik fail adalah fungsi yang sangat biasa semasa pembangunan laman web. Sebagai bahasa JavaScript sebelah pelayan, Node.js mempunyai ciri-ciri tak segerak dan cekap, dan ia juga mempunyai prestasi yang baik dalam muat naik fail. Tetapi bagaimana untuk membaca fail selepas ia dimuat naik? Mari analisa penyelesaian langkah demi langkah.
1. Muat naik fail
Kami menggunakan modul pihak ketiga multer
dalam Node.js untuk mengendalikan muat naik fail. multer
Modul ini mudah digunakan dan berkuasa, menyokong pelbagai tetapan seperti saiz muat naik fail, laluan muat naik, kuantiti muat naik, dsb. Penggunaan asasnya adalah seperti berikut:
const multer = require('multer'); const upload = multer({ dest: 'uploads/' }); app.post('/file/upload', upload.single('file'), function(req, res, next){ // 处理上传的文件 })
multer
Modul boleh menetapkan direktori muat naik untuk menyimpan fail ke lokasi yang ditentukan. Dalam contoh di atas, fail akan disimpan dalam folder uploads
dalam direktori kerja semasa dan fail yang dimuat naik akan disimpan dalam folder ini dan diberikan nama fail rawak.
2. Bagaimana hendak membaca fail selepas memuat naik?
Apabila muat naik fail selesai, kita perlu membaca fail Di sini kita boleh menggunakan modul teras Node.js fs
untuk mencapainya. Modul fs
menyediakan pelbagai kaedah untuk mengendalikan fail, antaranya fs.readFile()
boleh digunakan untuk membaca kandungan fail yang dimuat naik. fs.readFile()
Fungsi perlu lulus dalam laluan fail dan fungsi panggil balik. Pada masa yang sama, anda juga boleh menetapkan kaedah pengekodan untuk membaca fail dan menukar data bait baca kepada teks dengan pengekodan yang ditentukan Di sini kami menggunakan kaedah pengekodan binari lalai untuk membaca kandungan fail.
const fs = require('fs'); const path = require('path'); app.post('/file/upload', upload.single('file'), function(req, res, next){ const fileName = req.file.filename; // 上传时的文件名 const filePath = path.join(__dirname, 'uploads', fileName); // 上传后的文件保存路径 fs.readFile(filePath, function(err, data) { if (err) { console.error(err); res.status(500).send('文件读取失败'); } else { res.status(200).send(data); } }); })
Dalam kod di atas, nama fail yang dimuat naik diperoleh dahulu, dan kemudian laluan menyimpan fail dibina berdasarkan nama fail. Seterusnya, gunakan kaedah fs.readFile()
untuk membaca kandungan fail dan melakukan operasi yang sepadan berdasarkan hasil bacaan. Jika bacaan gagal, kod status 500 dikembalikan jika bacaan berjaya, kandungan fail baca dikembalikan.
3. Ringkasan
Memuat naik fail dan membaca fail adalah fungsi biasa dalam pembangunan tapak web ini boleh dilaksanakan dengan mudah menggunakan modul multer
dan fs
dalam Fungsi Node.js. Apabila membaca fail, anda perlu memberi perhatian kepada pengendalian kemungkinan ralat untuk mengelakkan aplikasi daripada ranap akibat ralat.
Atas ialah kandungan terperinci Bagaimana untuk membaca fail nodejs selepas memuat naik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!