node.js上傳文件


最近剛開始弄nond,寫得不好見諒,有什么錯誤請指出:

首先安裝node,安裝步驟

這里以上傳圖片為例:

 

1、在該文件夾下生成package.json文件:

在本文件夾下打開命令行窗口(window系統,進入該文件夾按住shift然后點擊鼠標右鍵,就可以直接選擇在本文件夾中打開命令行窗口)輸入:npm init 

然后等有提示出來,一路Enter(懂的請無視,不懂且不想懂的一路Enter就是了),然后你就可以發現文件夾下有一個package.json文件,下面是剛生成的package.json文件內容

這里因為要用到multer、express、fs模板,所以要安裝模塊,fs不需要安裝,可以直接引用:

安裝multer:npm install multer --save

安裝express:npm install express --save

然后你會發現你的文件夾下會多出一個node_modules文件,package.json里會多出這兩行:

2、創建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); // 保存的路徑,備注:需要自己創建 }, filename: function (req, file, cb) { // 將保存文件名設置為 字段名 + 時間戳,比如 logo-1478521468943 let suffix=file.mimetype.split('/')[1];//獲取文件格式 cb(null, file.fieldname + '-' + Date.now()+'.'+suffix); } }); // 通過 storage 選項來對 上傳行為 進行定制化 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);

 

然后在命令行窗口繼續輸入:node app.js

點擊回車運行文件

前端的話剛好我這里有篇上傳圖片的小程序示例,可以測試使用

完結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM