图片上传实现步骤
创作时间:
作者:
@小白创作中心
图片上传实现步骤
引用
CSDN
1.
https://blog.csdn.net/hpxjiayou/article/details/145061144
本文将详细介绍如何实现图片上传功能,包括后端使用Express框架和前端使用React框架的具体实现步骤。通过本文的学习,读者可以掌握图片上传功能的实现方法,为开发相关应用提供参考。
后端实现步骤
- 安装multiparty第三方模块,用于接收客户端上传的图片数据
//使用npm安装
npm install multiparty
//使用yarn安装
yarn add multiparty
导入multiparty模块,定义一个图片上传的路由(上传方式必须是post请求)
在项目目录下新建一个文件夹,作用是存放客户端上传过来的文件,配置静态资源访问目录
//导入multiparty模块
var multiparty = require("multiparty")
router.post('/uploadimg',(req,res)=>{
//定义一个multiparty类型的对象,接收客户端上传的数据
let form = new multiparty.Form()
//为表单对象定义一个上传文件的目标路径
form.uploadDir='upload'
//接收上传的文件
form.parse(req,(err,a,imgData)=>{
//可以将三个参数打印查看类型,其中imgData存放的是图片的信息
//console.log(err);
//console.log(a);
//console.log(imgData);
//将图片路径返回到客户端
res.send({
code:200,
path:"http://localhost:3000/"+imgData.file[0].path
})
})
})
前端实现步骤
前端使用了组件库实现图片上传的效果,需要先安装antd组件库,注意要安装与官网相同的版本
npm install antd@5.23.0
import { Button, message, Upload } from 'antd';
export default function UploadImg() {
const props = {
//发到后台的文件参数名
name: 'file',
//上传的地址
action: 'http://localhost:3000/uploadimg',
//设置上传的请求头部,IE10 以上有效
headers: {
authorization: 'authorization-text',
},
//上传文件改变时的回调,上传每个阶段都会触发该事件
onChange(info) {
//file是当前操作的文件对象
if (info.file.status !== 'uploading') {
//上传成功
//resopnse包含后端返回的数据
console.log(info.file.response,"111");
}
if (info.file.status === 'done') {
message.success(`${info.file.name} file uploaded successfully`);
} else if (info.file.status === 'error') {
//上传失败
message.error(`${info.file.name} file upload failed.`);
}
},
};
return <>
<Upload {...props}>
<Button>上传图片</Button>
</Upload>
</>
}
通过以上步骤,可以实现一个简单的图片上传功能。前端通过antd组件库实现图片上传的界面和交互,后端通过multiparty模块接收并处理上传的图片数据,最后将图片保存到指定的目录并返回图片的访问路径。
热门推荐
如何修复 iPhone 前置摄像头不工作的问题
PA66材料性能参数 | 深入解析PA66材料性能参数及其应用
盐碱地能种植的树木,盐碱地种植什么树最好
不同部位正常体温的范围一样吗?
神经炎的成因与预防:从遗传到环境的全面解析
信号处理中的相位
音频进阶学习四——线性时不变系统之卷积和
如何合理摆放床位以优化空间利用?这种摆放方式有哪些设计技巧?
什么是套期保值?套期保值的基本原理和操作方法是什么?
北京北站到北京南站的交通方式是什么?
算法空间复杂度计算
1500多个成语出自这座河北古城,3000年不改名,底蕴太深厚了!
大一统王朝里,为何东汉皇帝寿命最短,平均不超27岁
教你轻松做出美味溜肥肠:选材、清洗到烹饪的完整指南
脸上红色痘印怎么消除快一点
长期便秘的五大解决方案
用什么方法延缓女性更年期绝经?
创驰蓝天发动机的机油选择指南:为什么推荐0W-20?
[钻石切工] 影响钻石闪耀度最重要的因素
发高烧39度比较好的退烧方法
新中式穿搭:图案和色彩的搭配是关键,学会这两点,穿衣更有韵味
白起是如何评价赵括的?史书是如何记载的?
崂山:创建“无废景区” ,实现“无痕旅游”
焊缝的形状和尺寸(宽度、余高、熔深、焊脚)解析
用投资基金的心态投资股票构建稳健收益的策略指南
失眠去医院要挂什么科
朱熹《春日》译文鉴赏及赏析
打嗝的成因与应对策略:从饮食到情绪的全面解析
让自己处于“高能量”状态的3个方法
金钻净化效果如同“空气净化器”,使用4个技巧,越养叶子越油亮