如何使用express+multer实现node中的图片上传功能
小编给大家分享一下如何使用express+multer实现node中的图片上传功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
具体内容介绍如下所示:
在前端中,我们使用ajax来异步上传图片,使用file-input来上传图片,使用formdata对象来处理图片数据,post到服务器中
在node中使用multer中间件来对上传路由接口进行处理
multer文档
package.json
html部分
js部分
NodeJS逻辑代码
consthttp=require('http') constpath=require('path') constexpress=require('express') //是nodejs中处理multipart/form-data数据格式(主要用在上传功能中)的中间件 //文档:https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md constmulter=require('multer') constapp=express() //配置express的静态目录 app.use(express.static(path.join(__dirname,'public'))); app.get('/',(req,res)=>{ res.sendFile(__dirname+'/index.html') }) //配置diskStorage来控制文件存储的位置以及文件名字等 varstorage=multer.diskStorage({ //确定图片存储的位置 destination:function(req,file,cb){ cb(null,'./public/uploadImgs') },  //确定图片存储时的名字,注意,如果使用原名,可能会造成再次上传同一张图片的时候的冲突 filename:function(req,file,cb){ cb(null,Date.now()+file.originalname) } }); //生成的专门处理上传的一个工具,可以传入storage、limits等配置 varupload=multer({storage:storage}); //接收上传图片请求的接口 app.post('/upload',upload.single('file'),function(req,res,next){ //图片已经被放入到服务器里,且req也已经被upload中间件给处理好了(加上了file等信息) //线上的也就是服务器中的图片的绝对地址 varurl='/uploadImgs/'+req.file.filename res.json({ code:200, data:url }) }); http.createServer(app).listen(3000,()=>{ console.log('serverislistening') })
自我感觉良好,不知道博客园为什么要给我移除首页....
再发一次,if(delete){ alert('Neverpublishanythingagain.') }else{ alert(1) }
看完了这篇文章,相信你对“如何使用express+multer实现node中的图片上传功能”有了一定的了解,如果想了解更多相关知识,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
推荐阅读
-
Node.js 微服务部署:通过 Kubernetes 实现自动扩缩容与负载均衡
-
node是不是免费的
node是不是免费的本文小编为大家详细介绍“node是不是免费的”...
-
Node中的可读流是什么
Node中的可读流是什么这篇文章主要介绍了Node中的可读流是什么...
-
怎么开发一个node切换源小工具
怎么开发一个node切换源小工具这篇文章主要介绍“怎么开发一个no...
-
Node http模块基本使用方法是什么
Nodehttp模块基本使用方法是什么这篇文章主要介绍了Node...
-
node消息队列怎么使用
node消息队列怎么使用这篇文章主要介绍“node消息队列怎么使用...
-
Node中express的身份认证怎么使用
Node中express的身份认证怎么使用今天小编给大家分享一下N...
-
node无法用npm命令如何解决
node无法用npm命令如何解决这篇文章主要介绍“node无法用n...
-
node utf8汉字乱码如何解决
nodeutf8汉字乱码如何解决本篇内容主要讲解“nodeut...
-
node如何链接多个JS模块
node如何链接多个JS模块本文小编为大家详细介绍“node如何链...