Upload file โดยใช้ Node js แบบง่าย ๆ

| NodeJs | 60 | 53 วันที่แล้ว
บทความนี้ผมจะมาแนะนำโค้ด Upload file โดยใช้ node js กันครับ

ซึ่ง Lib ที่เราจะใช้นั้นคือ multer

ก่อนอื่นเราก็ต้อง เพิ่ม multer เข้าไปใน Project เราซะก่อน จากนั้นในหน้า Html เราก้เขียนโค้ด อัพโหลดแบบง่าย ๆ ตามนี้

<form class="ui form" id="uploadimgform" method="post" action="XXX" enctype="multipart/form-data"><div class="field"><input type="file" name="photos" id="photos"></div><div class="field"><input type="hidden" name="articletype" value="upload"><input class="ui primary submit button" type="submit"></div></form>
จากนั้นในส่วนของ node js เราก็เขียนโค้ดประมาณนี้
var multer  = require('multer')

var storage = multer.diskStorage({
	destination: function (req, file, cb) {
		cb(null, 'public/uploads/')
	},
	filename: function (req, file, cb) {
		cb(null, 'post' + '-' + Date.now() + '.jpg')
	}
})
ตรง public/uploads เป็นส่วนที่เอาไว้เก็บไฟล์คับ ส่วน filename ตรงนี้เอาไว้ตั้งชื่อไฟล์ ต่อไปเรานำไปใช้กันต่อคับ ตามโค้ดด้านล่าง
app.post('/uploadpic', index.middleware, board.imgupload, upload.single('photos'), (req, res) => {
		res.locals.uploadedfilename = req.file.filename
		res.render('board/boardupload')
	});
ตามโค้ดจะเห็นว่าเรารับ uploadpic ตาม Post ที่อัพโหลดมา จากนั้นเราก็ ใช้ upload.single เพื่อรับค่า photos ที่อยู่ใน field name เพียงแค่นี้เราก็ได้แล้ว
comments

[1]
AGI
58 D
[1]
Adobe-PDF
1162 D
[1]
Android
1053 D
[2]
Angular
36 D
[40]
Animal
1146 D
[1]
Apache
1162 D
[1]
[4]
[2]
[1]
[10]
CMS-Joomla
1163 D
[2]
CMS-SMF
1163 D
[1]
[4]
[1]
[3]
[1]
Database
1162 D
[4]
[1]
DeAI
23 D
[1]
DeData
23 D
[1]
DeFi
23 D
[2]
Docker
53 D
[2]
[1]
Forex
20 D
[1]
Fruit
1147 D
[1]
General
44 D
[2]
Git
949 D
[6]
HTML
53 D
[1]
Health
48 D
[1]
Housework
1151 D
[2]
IT
1143 D
[2]
Imacro
1163 D
[20]
Java
25 D
[1]
Java-Web
1053 D
[2]
[2]
MQL5
975 D
[3]
MakeMoney
948 D
[18]
[1]
[1]
Maven
947 D
[5]
[1]
Mobile
1160 D
[2]
NGINX
36 D
[2]
NodeJs
53 D
[1]
Oracle
53 D
[3]
Physics
944 D
[4]
PugJS
949 D
[2]
React
958 D
[132]
Science
1145 D
[2]
[5]
Spring
36 D
[12]
[7]
[2]
[1]
[4]
Ubuntu
1113 D
[1]
WebLogic
1144 D
[4]