博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs关于前后端图片上传的思路及实现代码
阅读量:4624 次
发布时间:2019-06-09

本文共 1441 字,大约阅读时间需要 4 分钟。

### 图片上传
1.前端角度
a.将图片发给后端 ajax
1.前端获取图片信息 文件域
2.将文件信息 存到formdata
3.调用后端写的api接口发送数据
b.接受返回的数据
前端页面显示图片
 
    
Document

 

2.后端角度
目的:将前端上传的图片
1.图片本身应该能被访问(静态资源目录)
a.获取图片上传的数据 (multer().singer('hehe') req.file)
b.将数据存到文件里面去 fs.writeFile('路径',req.file.buffer)
文件名不重复(时间戳+随机水)
后缀名和源文件保持一致(minitype)
上传的文件大小不能超过一定尺寸(size)
写入路径用绝对路径 path.join(__dirname,'./www')
2.路径信息存到数据里去
const express = require('express')let app = express()const multer = require('multer')const fs = require('fs')const path = require('path')//single是单图片上传,多图片上传 array ,single里面就是上传图片的key值 //和图片相关的是req.file app.use('/public',express.static(path.join(__dirname,'./www')))app.post('/aa',multer().single('img'),(req,res)=>{    let {buffer,mimetype} = req.file;    let fileName = (new Date()).getTime() + parseInt(Math.random()*3435) + parseInt(Math.random()*6575);    let fileType = mimetype.split('/')[1];    let filePath =  path.join(__dirname,'/www/images')    let apath = `http://localhost:5500/public/images/${fileName}.${fileType}`       fs.writeFile(`./www/images/${fileName}.${fileType}`,buffer,(data)=>{        if(data){            res.send({err:0,msg:"上传失败"})        }else{            res.send({err:1,msg:"上传成功",imgPath:apath})        }    })})app.listen('5500',()=>{    console.log('start')})
3.注意事项
1.数据类型 formdata
2.方法 post
3.正常ajaxpost的数据格式 表单 json

转载于:https://www.cnblogs.com/zhouyingying/p/11330484.html

你可能感兴趣的文章
文档翻译-Minimizing your app's Memory Footprint
查看>>
[Unity优化]批处理01:Statistics窗口
查看>>
自然数的拆分(DFS)
查看>>
nodejs websocket
查看>>
SQLAlchemy_定义(一对一/一对多/多对多)关系
查看>>
添加远程库
查看>>
iOS Animation 学习(3)
查看>>
正则化方法:L1和L2 regularization、数据集扩增、dropout
查看>>
Hadoop学习笔记3---安装并运行Hadoop
查看>>
ASP.NET MVC性能优化(实际项目中)
查看>>
《算法法论学习笔记》-- 数组最大子数组(分治法)
查看>>
汇编语言 第二章
查看>>
Windows Server 2008 R2 配置AD(Active Directory)域控制器
查看>>
整合Spring、SpringMVC、MyBatis
查看>>
JDK1.8之Stream
查看>>
SqlZoo.net习题答案:Using the SELECT statement.【bbc】
查看>>
PostgreSQL - N''和::bpchar
查看>>
ACM-ICPC 2018 沈阳赛区网络预赛 K. Supreme Number
查看>>
车牌识别LPR(七)-- 字符特征
查看>>
学习MVC之租房网站(一)-项目概况
查看>>