อัพโหลดรูปภาพใน node.js

การอัพโหลดรูปภาพใน Node.js จำเป็นต้องใช้ไลบรารีหรือแพ็กเกจที่ช่วยในการจัดการการอัพโหลดไฟล์ เช่น express, multer, และ path ซึ่งเป็นไลบรารีที่มักจะใช้งานบ่อยเมื่อต้องการอัพโหลดไฟล์ในแอปพลิเคชัน Node.js ต่อไปนี้เป็นขั้นตอนเบื้องต้นสำหรับการอัพโหลดรูปภาพ:

  1. ติดตั้ง Express และ Multer:
    ให้เริ่มต้นโดยการติดตั้ง Express และ Multer โดยใช้คำสั่ง:

    1
    npm install express multer
  2. นำเข้าแพ็กเกจ:
    นำเข้าแพ็กเกจและไลบรารีที่จำเป็นในโค้ดของคุณ:

    1
    2
    3
    const express = require('express');
    const multer = require('multer');
    const path = require('path');
  3. กำหนด Express App:
    สร้าง Express application และกำหนด middleware สำหรับการอัพโหลด:

    1
    2
    const app = express();
    const port = process.env.PORT || 3000;
  4. กำหนดการอัพโหลดด้วย Multer:
    กำหนด Multer middleware เพื่อรับไฟล์รูปภาพที่อัพโหลด:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    const 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/ และจะเปลี่ยนชื่อไฟล์เพื่อป้องกันชื่อไฟล์ที่ซ้ำกัน.

  5. รับคำขออัพโหลด:
    รับคำขออัพโหลดรูปภาพในเส้นทางที่เหมาะสม โดยใช้ middleware ที่สร้างไว้ด้านบน:

    1
    2
    3
    app.post('/upload', upload.single('image'), (req, res) => {
    res.send('ไฟล์รูปถูกอัพโหลดเรียบร้อย');
    });

    ในตัวอย่างนี้เราใช้ upload.single('image') เพื่อรับไฟล์รูปภาพที่มีชื่อฟิลด์ว่า “image”. คำสั่ง res.send ใช้ส่งข้อความเมื่อการอัพโหลดสำเร็จ.

  6. เริ่มต้นเซิร์ฟเวอร์:
    เริ่มต้นเซิร์ฟเวอร์ Express:

    1
    2
    3
    app.listen(port, () => {
    console.log(`เซิร์ฟเวอร์ทำงานที่พอร์ต ${port}`);
    });
  7. สร้างโฟลเดอร์สำหรับอัพโหลด:
    ตรวจสอบให้แน่ใจว่ามีโฟลเดอร์ uploads/ สร้างขึ้นมาเพื่อใช้เก็บไฟล์รูปภาพที่ถูกอัพโหลด.

นี่คือขั้นตอนเบื้องต้นสำหรับการสร้าง API อัพโหลดรูปภาพใน Node.js คุณสามารถปรับแต่งและขยายตัวอย่างนี้ตามความต้องการของคุณ และอาจต้องการเพิ่มการตรวจสอบและการจัดการข้อมูลที่เกี่ยวข้องกับรูปภาพในแอปพลิเคชันของคุณ.