這篇文章將為大家詳細(xì)講解有關(guān)node.js實(shí)現(xiàn)上傳文件功能的方法,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
10年積累的成都做網(wǎng)站、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有黃浦免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
最近剛開始弄nond,寫得不好見諒,有什么錯誤請指出:
首先安裝node,安裝步驟
這里以上傳圖片為例:
1、在該文件夾下生成package.json文件:
在本文件夾下打開命令行窗口(window系統(tǒng),進(jìn)入該文件夾按住shift然后點(diǎn)擊鼠標(biāo)右鍵,就可以直接選擇在本文件夾中打開命令行窗口)輸入:npm init
然后等有提示出來,一路Enter(懂的請無視,不懂且不想懂的一路Enter就是了),然后你就可以發(fā)現(xiàn)文件夾下有一個package.json文件,下面是剛生成的package.json文件內(nèi)容
這里因?yàn)橐玫絤ulter、express、fs模板,所以要安裝模塊,fs不需要安裝,可以直接引用:
安裝multer:npm install multer --save
安裝express:npm install express --save
然后你會發(fā)現(xiàn)你的文件夾下會多出一個node_modules文件,package.json里會多出這兩行:
2、創(chuàng)建app.js文件:
var express=require('express') var app=express() var multer=require('multer') var fs=require('fs') // var upload=multer({ dest: './tmp/' }) var createFolder = function(folder){ try{ fs.accessSync(folder); }catch(e){ fs.mkdirSync(folder); } }; var uploadFolder = './upload/'; createFolder(uploadFolder); // 通過 filename 屬性定制 var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, uploadFolder); // 保存的路徑,備注:需要自己創(chuàng)建 }, filename: function (req, file, cb) { // 將保存文件名設(shè)置為 字段名 + 時間戳,比如 logo-1478521468943 let suffix=file.mimetype.split('/')[1];//獲取文件格式 cb(null, file.fieldname + '-' + Date.now()+'.'+suffix); } }); // 通過 storage 選項(xiàng)來對 上傳行為 進(jìn)行定制化 var upload = multer({ storage: storage }) app.post('/profile',upload.single('file'),function(req,res,next){ //req.body contains the text fields console.log(req.file,'------',req.body,'-------',req.file.path); // res.end(req.file.buffer); // console.log(req.file.buffer.toString().length); res.end('ok'); }) app.listen(8081);
然后在命令行窗口繼續(xù)輸入:node app.js
點(diǎn)擊回車運(yùn)行文件
前端的話剛好我這里有篇上傳圖片的小程序示例,可以測試使用
關(guān)于“node.js實(shí)現(xiàn)上傳文件功能的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。