การอัพโหลดไฟล์อาจเป็นการดำเนินการที่สำคัญในทุกโปรเจ็กต์ วันนี้เราใช้ nodejs เพื่อใช้งานโมดูลอัพโหลดไฟล์
1. โมดูล
npm i multiparty
npm i express
2.
เราใส่โค้ดในไฟล์ ( upload.js
) โค้ดในไฟล์มีดังนี้:
// อัพโหลดไฟล์ module const multiparty = need('multiparty') // โมดูลการทำงานของไฟล์ const fs = need ('fs') //นำเข้ากรอบงานด่วน const express = need('express') //การกำหนดเส้นทาง const เราเตอร์ = express.Router() // อัพโหลดไฟล์อินเตอร์เฟส router.post('/upload/file', (req, res) => { /* สร้างวัตถุหลายฝ่ายและกำหนดค่าเส้นทางเป้าหมายการอัพโหลด */ ให้ form = new multiparty.Form(); //ตั้งค่าการเข้ารหัส form.encoding = 'utf-8'; //กำหนดเส้นทางการจัดเก็บไฟล์โดยใช้ไฟล์ที่แก้ไขในปัจจุบันเป็นเส้นทางสัมพัทธ์ form.uploadDir = './public'; // แยกวิเคราะห์ ตัวแยกวิเคราะห์แบบฟอร์ม // เขตข้อมูล: ข้อมูลแบบฟอร์มธรรมดา // ไฟล์: ข้อมูลไฟล์ที่อัปโหลด form.parse(req, ฟังก์ชั่น (ผิดพลาด, เขตข้อมูล, ไฟล์) { พยายาม { // ไฟล์นี้คือ files.file[0] ให้ upfile = files.file[0] // ตั้งชื่อไฟล์และแก้ไขพาธในไฟล์ upfile มิฉะนั้นชื่อไฟล์จะถูกสร้างขึ้นแบบสุ่ม ให้ newpath = form.uploadDir + '/' + upfile.OriginalFilename //ชื่อไฟล์// เปลี่ยนชื่อ fs.renameSync(upfile.path นิวพาธ); //ข้อมูลการส่งคืน ((upfile.size)/1048576).toFixed(2) แปลงไฟล์จากหน่วย B เป็น M และปัดเศษเป็นทศนิยมสองตำแหน่ง res.send({ รหัส:200, msg:'ไฟล์สำเร็จ', file_name:upfile.OriginalFilename, file_size:((upfile.size)/1048576).toFixed(2)+'M' - } จับ { // ข้อความ console.log(err) ภายใต้สถานการณ์ที่ไม่ปกติ ส่งอีกครั้ง ({ รหัส:401, msg:'ไฟล์ผิดพลาด', more_msg:ผิดพลาด - - - - // ส่งออกโมดูลนี้เพื่อเรียกใช้ไฟล์ฟังก์ชันหลัก module.exports = เราเตอร์
3.main.js ไฟล์
// แนะนำโมดูลด่วน const express = need('express') // ยกตัวอย่างด่วน แอป const = ด่วน () // การแมปโฟลเดอร์ app.use('/static',express.static('public')) // อัพโหลดไฟล์อินเตอร์เฟส const upload=require('./router/upload') app.use (อัพโหลด) // บริการการฟัง app.listen('3333', '0.0.0.0', (res) => { console.log('เซิร์ฟเวอร์ทำงาน http://127.0.0.1:3333') })
4. ตัวอย่าง
เราะ