1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > express+multer实现node图片上传的具体步奏

express+multer实现node图片上传的具体步奏

时间:2020-10-10 13:43:11

相关推荐

express+multer实现node图片上传的具体步奏

web前端|js教程

express+multer,node,上传

web前端-js教程

720 vr 源码,ubuntu重启卡住不动,被子上的爬虫,怎么获取一个网站的php源码,综合seo查询lzw

这次给大家带来express+multer实现node图片上传的具体步奏,express+multer实现node图片上传的注意事项有哪些,下面就是实战案例,一起来看一下。

股票软件源码分析 pdf,vscode怎么统一编码,ubuntu发送lldp,tomcat清理数据池,爬虫的head,php文件批量上传,渝北知名seo优化口碑,pc加手机网站源码,ecshop汽车配件模板lzw

下文给大家介绍使用express+multer实现node中的图片上传功能,具体内容介绍如下所示:

PC28 H5源码,电脑上贴着ubuntu,桃子里边有爬虫,闪电标志 php,汉川seo优化lzw

在前端中,我们使用ajax来异步上传图片,使用file-input来上传图片,使用formdata对象来处理图片数据,post到服务器中

在node中使用multer中间件来对上传路由接口进行处理

multer文档

package.jsonhtml部分

js部分

//上传图片的业务逻辑函数 function uploadFile(){//上传图片的inputvar file = document.getElementById("file")//因为准备用post提交,又因为图片的内容比较大,所以我们选择使用formdata来承载数据//创建formdata对象var formData = new FormData();//给formdata对象中放入数据(键值对的方式)formData.append(file,file.files[0]);//提交请求$.ajax({ url: /upload,//请求路径 type: POST, data: formData, contentType: false,//为了让浏览器根据传入的formdata来判断contentType processData: false,//同上 success: function(data){if(200 === data.code) { $(#result).html("上传成功!"); $(#img).attr(src,data.data);} else { $(#result).html("上传失败!");}console.log(2) }, error: function(){$("#result").html("与服务器通信发生错误"); }});console.log(1) } //给按钮添加点击事件 function postPage() { //上传按钮 var uploada = document.getElementById(upload); uploada.addEventListener("click",function () {uploadFile(); },false); } window.onload = function () {postPage(); }

NodeJS逻辑代码

const http = require(http)const path = require(path)const express = require(express)//是nodejs中处理multipart/form-data数据格式(主要用在上传功能中)的中间件//文档:/expressjs/multer/blob/master/doc/README-zh-cn.mdconst 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) },![](/blog/1283058/02/1283058-054342296-515041615.jpg) //确定图片存储时的名字,注意,如果使用原名,可能会造成再次上传同一张图片的时候的冲突 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)}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。