图片上传实现步骤
创作时间:
作者:
@小白创作中心
图片上传实现步骤
引用
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模块接收并处理上传的图片数据,最后将图片保存到指定的目录并返回图片的访问路径。
热门推荐
5个关键条件决定你是否能报考项目管理证书
成也萧何败也萧何是什么意思
使用 CSS 调整表格单元格填充和间距
生辰八字起名:精选名字大全及寓意解析
疫苗接种凭证如何查询和开具?需要哪些信息?
中职学校的"订单班"是什么意思?有哪些特点?
动态变革中的长江电力:市场形势、策略与未来展望
房子坐北朝南的优势及判断方法
姜:强御百邪的神奇植物
成功研发6.5万通道双向脑机接口芯片 中国公司称“遥遥领先”海外
使用当季食材的中式炒菜!用西兰花解释“中式西兰花虾仁炒”
半夜胃疼怎么办
微星B760M迫击炮MAX和华硕B760-G小吹雪有什么区别?怎么选?
极简主义大师彼得·沃克:用简约之美重塑景观设计
糖尿病引起的肩周炎怎么办
腊月是农历几月:从古至今的传承与发展
销售绩效受产品质量影响?应对产品质量问题保障销售绩效
价值链和供应链的区别是什么
销售管理部职责全解析:从目标设定到成本控制
USB3.0和3.1的区别
电脑换行快捷键设置大全:Ctrl、Shift、Alt组合使用指南
兼顾营养和安全 食品安全“最严谨的标准”鼓励创新发展
命里缺水的人最忌讳
如何选择咖啡烘焙程度?浅焙、中焙与深焙的特色全解析
饭店经营管理的运营模式探析
WBS工作任务分解实践指南:从计划制定到任务分配
新航城空姐被杀案结果解析:法律视角下的案件全解读
数学教育的深层宗旨:培养逻辑、抽象思维与解决问题的能力,以及严谨的学习态度
沧州十大景点全攻略:从杂技大世界到铁狮公园
行李箱abs+pc材质好还是pc材质的好?行李箱买啥材质的耐摔耐划?