การอัพโหลดรูปภาพใน Node.js จำเป็นต้องใช้ไลบรารีหรือแพ็กเกจที่ช่วยในการจัดการการอัพโหลดไฟล์ เช่น express
, multer
, และ path
ซึ่งเป็นไลบรารีที่มักจะใช้งานบ่อยเมื่อต้องการอัพโหลดไฟล์ในแอปพลิเคชัน Node.js ต่อไปนี้เป็นขั้นตอนเบื้องต้นสำหรับการอัพโหลดรูปภาพ:
ติดตั้ง Express และ Multer:
ให้เริ่มต้นโดยการติดตั้ง Express และ Multer โดยใช้คำสั่ง:1
npm install express multer
นำเข้าแพ็กเกจ:
นำเข้าแพ็กเกจและไลบรารีที่จำเป็นในโค้ดของคุณ:1
2
3const express = require('express');
const multer = require('multer');
const path = require('path');กำหนด Express App:
สร้าง Express application และกำหนด middleware สำหรับการอัพโหลด:1
2const app = express();
const port = process.env.PORT || 3000;กำหนดการอัพโหลดด้วย Multer:
กำหนด Multer middleware เพื่อรับไฟล์รูปภาพที่อัพโหลด:1
2
3
4
5
6
7
8
9
10const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'uploads/');
},
filename: (req, file, cb) => {
cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname));
},
});
const upload = multer({ storage });ในตัวอย่างนี้ Multer จะบันทึกไฟล์รูปภาพที่ถูกอัพโหลดไว้ในโฟลเดอร์
uploads/
และจะเปลี่ยนชื่อไฟล์เพื่อป้องกันชื่อไฟล์ที่ซ้ำกัน.รับคำขออัพโหลด:
รับคำขออัพโหลดรูปภาพในเส้นทางที่เหมาะสม โดยใช้ middleware ที่สร้างไว้ด้านบน:1
2
3app.post('/upload', upload.single('image'), (req, res) => {
res.send('ไฟล์รูปถูกอัพโหลดเรียบร้อย');
});ในตัวอย่างนี้เราใช้
upload.single('image')
เพื่อรับไฟล์รูปภาพที่มีชื่อฟิลด์ว่า “image”. คำสั่งres.send
ใช้ส่งข้อความเมื่อการอัพโหลดสำเร็จ.เริ่มต้นเซิร์ฟเวอร์:
เริ่มต้นเซิร์ฟเวอร์ Express:1
2
3app.listen(port, () => {
console.log(`เซิร์ฟเวอร์ทำงานที่พอร์ต ${port}`);
});สร้างโฟลเดอร์สำหรับอัพโหลด:
ตรวจสอบให้แน่ใจว่ามีโฟลเดอร์uploads/
สร้างขึ้นมาเพื่อใช้เก็บไฟล์รูปภาพที่ถูกอัพโหลด.
นี่คือขั้นตอนเบื้องต้นสำหรับการสร้าง API อัพโหลดรูปภาพใน Node.js คุณสามารถปรับแต่งและขยายตัวอย่างนี้ตามความต้องการของคุณ และอาจต้องการเพิ่มการตรวจสอบและการจัดการข้อมูลที่เกี่ยวข้องกับรูปภาพในแอปพลิเคชันของคุณ.