图片上传实现步骤
创作时间:
作者:
@小白创作中心
图片上传实现步骤
引用
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模块接收并处理上传的图片数据,最后将图片保存到指定的目录并返回图片的访问路径。
热门推荐
孕期饮食安全:妙佑医疗国际的权威建议
孕期营养如何影响宝宝智力发展?
五台山:皇家寺庙中的文殊信仰
劳动合同里的那些坑,你踩过几个?
建筑劳务合同的关键条款与风险防范指南
五台山清凉之旅:交通、住宿、美食全攻略
五台山旅游攻略:跟着玲玲导游走遍清凉圣地
《年少日记》:在记忆的深处,寻求不遗忘的成长
梅州:文创IP助力文化旅游焕发新活力
“延米”是个啥东西?与“米”有何区别?
铲屎官必备神器:宠物狗铲屎器选购全攻略
环保神器!教你用可降解便便袋科学清理狗狗排泄物
宠物排泄物引发邻里大战!你家有类似困扰吗?
香格里拉旅行必备:红景天口服液使用全攻略
锡惠公园:一座承载千年文化记忆的江南名园
无锡锡惠公园索道最新攻略:营业时间、票价及周边游玩建议
温柔的坚持:如何在生活中保持平和心态
三生石畔的前缘:《红楼梦》中的宿命与轮回
《三生三世枕上书》中的三生石之恋
《三生石上旧精魂》:一部解读三生石文化内涵的力作
杭州三天竺寺的三生石:爱情的见证者
香格里拉冬日摄影攻略:松贊林寺、纳帕海、无底湖必打卡
AI助力教师养老金规划:从预测到管理的智能化转型
AI助力养老:从养老金规划到智能照护
GPS定位追踪:隐私保护的新挑战
《玫瑰的故事》揭秘:GPS如何追踪你的位置?
春节烟花摄影技巧大揭秘!
高血脂患者如何通过慢跑和游泳改善健康?
高血脂饮食管理:三大原则助你远离心血管疾病
工作压力爆表?小心高血脂找上门!