下文给大家介绍使用express+multer实现node中的图片上传功能,具体内容介绍如下所示:
在前端中,我们使用ajax来异步上传图片,使用file-input来上传图片,使用formdata对象来处理图片数据,post到服务器中
在node中使用multer中间件来对上传路由接口进行处理
multer文档
package.json
html部分
js部分
NodeJS逻辑代码
const http = require('http') const path = require('path') const express = require('express') //是nodejs中处理multipart/form-data数据格式(主要用在上传功能中)的中间件 //文档:https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md const multer = require('multer') const app = express() //配置express的静态目录 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) { //图片已经被放入到服务器里,且req也已经被upload中间件给处理好了(加上了file等信息) //线上的也就是服务器中的图片的绝对地址 var url = '/uploadImgs/' + req.file.filename res.json({ code : 200, data : url }) }); http.createServer(app).listen(3000,()=>{ console.log('server is listening') })
自我感觉良好,不知道博客园为什么要给我移除首页....
再发一次,if(delete){ alert('Never publish anything again.') }else{ alert(1) }
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天