Nodejs melaksanakan muat naik folder
Kata Pengantar
Dalam pembangunan web, muat naik fail adalah keperluan yang sangat biasa, dan kebanyakan aplikasi web mempunyai fungsi memuat naik fail. Dalam sesetengah senario, jika anda perlu memuat naik keseluruhan folder dan bukannya satu fail, anda perlu menggunakan beberapa kaedah khas. Artikel ini akan memperkenalkan cara menggunakan Node.js untuk melaksanakan fungsi memuat naik folder.
Langkah pelaksanaan
- Buat borang
Langkah pertama untuk memuat naik fail ialah mencipta borang HTML yang mengandungi fail yang dimuat naik. Oleh kerana memuat naik folder memerlukan memuat naik berbilang fail, kami perlu menggunakan kotak input teks berbilang baris untuk membolehkan pengguna memilih folder yang perlu dimuat naik. Berikut ialah contoh kod borang HTML:
<form action="/uploadFolder" method="POST" enctype="multipart/form-data"> <input type="file" name="folder[]" multiple webkitdirectory directory> <input type="submit" value="上传"> </form>
Dalam kod di atas, kami menggunakan kotak input teks berbilang baris untuk membolehkan pengguna memilih folder untuk dimuat naik dan menggunakan name="folder[]"
untuk menentukan nama elemen borang untuk memudahkan pemprosesan seterusnya beberapa dokumen.
- Buat laluan
Untuk aplikasi Express, kami perlu mewujudkan pengendali laluan baharu untuk folder muat naik. Dalam pengendali laluan ini, kita perlu menggunakan perpustakaan khusus untuk menghuraikan dan memproses data borang. Khususnya, kami menggunakan pustaka multer
untuk mengendalikan folder yang dimuat naik. Berikut ialah contoh kod menggunakan pustaka multer
:
const express = require("express"); const multer = require("multer"); const app = express(); const upload = multer({ dest: "uploads/" }); app.post("/uploadFolder", upload.any(), (req, res) => { console.log(req.files); res.send("上传成功"); }); app.listen(3000, () => { console.log("应用程序已启动"); });
Dalam kod di atas, kami menggunakan pustaka multer
untuk memproses data borang dan menyimpan semua fail yang dimuat naik ke direktori uploads/
pada pelayan . Pustaka termasuk fungsi middleware di mana upload.any()
menyatakan bahawa sebarang jenis fail dibenarkan untuk dimuat naik. Dalam pengendali laluan, kita boleh menggunakan objek req.files
untuk mengakses semua fail dalam folder yang dimuat naik.
- Mengendalikan Fail Yang Dimuat Naik
Kami boleh menggunakan modul terbina dalam Node.js untuk memproses fail yang dimuat naik. Khususnya, kita perlu menggunakan fungsi berkaitan modul fs
untuk menyelesaikan tugasan. Berikut ialah kod sampel:
const fs = require("fs"); const files = req.files; for (let i = 0; i < files.length; i++) { const file = files[i]; const filePath = file.path; const originalName = file.originalname; const fileName = originalName.replace(/[^a-z0-9]/gi, "_").toLowerCase(); const destPath = "uploads/" + fileName; try { fs.renameSync(filePath, destPath); } catch (err) { res.status(500).send('文件上传失败'); } } res.send("上传成功");
Dalam kod di atas, kita mula-mula menggelungkan semua fail dalam objek req.files
, dan kemudian menggunakan fungsi fs
modul renameSync()
untuk mengalihkan setiap fail ke yang dinyatakan dalam direktori. Sebelum memindahkan fail, kita perlu menjana nama fail baharu dengan menggantikan aksara khas dalam nama fail. Jika ralat berlaku semasa memindahkan fail, mesej ralat akan dikembalikan dalam respons.
- Kod Penuh
Anda boleh melihat kod sampel lengkap di sini. Oleh itu, kami boleh melancarkan aplikasi menggunakan arahan berikut:
node app.js
Kesimpulan
Memuat naik keseluruhan folder ialah ciri yang sangat berguna yang membantu pengguna mengatur dan Mengurus fail dengan lebih baik. Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan Node.js untuk melaksanakan fungsi memuat naik folder. Semoga artikel ini bermanfaat kepada pembaca.
Atas ialah kandungan terperinci Nodejs melaksanakan muat naik folder. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini membincangkan useeffect dalam React, cangkuk untuk menguruskan kesan sampingan seperti pengambilan data dan manipulasi DOM dalam komponen berfungsi. Ia menerangkan penggunaan, kesan sampingan yang biasa, dan pembersihan untuk mencegah masalah seperti kebocoran memori.

Lazy memuatkan kelewatan memuatkan kandungan sehingga diperlukan, meningkatkan prestasi web dan pengalaman pengguna dengan mengurangkan masa beban awal dan beban pelayan.

Artikel ini menerangkan algoritma perdamaian React, yang dengan cekap mengemas kini DOM dengan membandingkan pokok DOM maya. Ia membincangkan manfaat prestasi, teknik pengoptimuman, dan kesan terhadap pengalaman pengguna. Kira -kira: 159

Artikel ini membincangkan kari dalam JavaScript, teknik yang mengubah fungsi multi-argumen ke dalam urutan fungsi argumen tunggal. Ia meneroka pelaksanaan kari, faedah seperti aplikasi separa, dan kegunaan praktikal, meningkatkan kod baca

Fungsi pesanan yang lebih tinggi dalam JavaScript meningkatkan ketabahan kod, kebolehgunaan semula, modulariti, dan prestasi melalui abstraksi, corak umum, dan teknik pengoptimuman.

Artikel ini menerangkan USEContext dalam React, yang memudahkan pengurusan negara dengan mengelakkan penggerudian prop. Ia membincangkan faedah seperti keadaan terpusat dan penambahbaikan prestasi melalui pengurangan semula yang dikurangkan.

Artikel membincangkan penyambungan komponen reaksi ke kedai redux menggunakan Connect (), menerangkan MapStateToprops, MapdispatchToprops, dan kesan prestasi.

Artikel membincangkan menghalang tingkah laku lalai dalam pengendali acara menggunakan kaedah pencegahanDefault (), faedahnya seperti pengalaman pengguna yang dipertingkatkan, dan isu -isu yang berpotensi seperti kebimbangan aksesibiliti.
