小編給大家分享一下如何使用express+multer實現(xiàn)node中的圖片上傳功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
站在用戶的角度思考問題,與客戶深入溝通,找到匯川網(wǎng)站設(shè)計與匯川網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋匯川地區(qū)。
具體內(nèi)容介紹如下所示:
在前端中,我們使用ajax來異步上傳圖片,使用file-input來上傳圖片,使用formdata對象來處理圖片數(shù)據(jù),post到服務(wù)器中
在node中使用multer中間件來對上傳路由接口進(jìn)行處理
multer文檔
package.json
html部分
js部分
NodeJS邏輯代碼
const http = require('http') const path = require('path') const express = require('express') //是nodejs中處理multipart/form-data數(shù)據(jù)格式(主要用在上傳功能中)的中間件 //文檔:https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md const multer = require('multer') const app = express() //配置express的靜態(tài)目錄 app.use(express.static(path.join(__dirname, 'public'))); app.get('/',(req,res)=>{ res.sendFile(__dirname+'/index.html') }) //配置diskStorage來控制文件存儲的位置以及文件名字等 var storage = multer.diskStorage({ //確定圖片存儲的位置 destination: function (req, file, cb){ cb(null, './public/uploadImgs') }, ![](http://images2017.cnblogs.com/blog/1283058/201802/1283058-20180201154342296-515041615.png) //確定圖片存儲時的名字,注意,如果使用原名,可能會造成再次上傳同一張圖片的時候的沖突 filename: function (req, file, cb){ cb(null, Date.now()+file.originalname) } }); //生成的專門處理上傳的一個工具,可以傳入storage、limits等配置 var upload = multer({storage: storage}); //接收上傳圖片請求的接口 app.post('/upload', upload.single('file'), function (req, res, next) { //圖片已經(jīng)被放入到服務(wù)器里,且req也已經(jīng)被upload中間件給處理好了(加上了file等信息) //線上的也就是服務(wù)器中的圖片的絕對地址 var url = '/uploadImgs/' + req.file.filename res.json({ code : 200, data : url }) }); http.createServer(app).listen(3000,()=>{ console.log('server is listening') })
自我感覺良好,不知道博客園為什么要給我移除首頁....
再發(fā)一次,if(delete){ alert('Never publish anything again.') }else{ alert(1) }
看完了這篇文章,相信你對“如何使用express+multer實現(xiàn)node中的圖片上傳功能”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!