当前位置: 首页 > news >正文

前后端开发中,图片上传到不同格式(二进制数据ORbase64编码)

1、base64编码

  • 适合小文件(如图标、头像)。

  • 实现简单,适合快速开发

前端通过 FileReader 将图片文件转换为 Base64 编码,然后上传到服务器

后端接收到 Base64 编码的图片后,将其解码为二进制数据(Buffer),然后保存为文件:

2、二进制数据

  • 适合大文件(如高清图片、视频)。

  • 性能更好,节省带宽。

使用 FormData 直接上传二进制文件:

const formData = new FormData();
formData.append('file', file); // 直接上传文件
const res = await uploadImage(formData); // 使用 FormData 上传

使用 multipart/form-data 解析二进制文件:

const multer = require('multer');
const upload = multer({ dest: 'uploads/' }); // 设置存储目录

router.post('/upload_image', authenticate.authenticateToken, upload.single('file'), (req, res) => {
    const filePath = req.file.path; // 获取文件路径
    res.json({ message: '上传成功', filePath });
});

http://www.dtcms.com/a/86625.html

相关文章:

  • nuxt项目 详情页有阅读次数需要更新,有热门推荐列表需要更新适合做SSG吗
  • JSON相关的Java库使用指南
  • 本地部署 LangManus
  • 使用VS2022编译CEF
  • Python Web 框架选择策略:基于不同应用场景的实践指南
  • systemd-networkd 的 *.network 配置文件详解 笔记250323
  • 数据结构——b树b+树
  • 使用 ChartMuseum 容器搭建私有 Helm Chart 仓库
  • C++面试题总结
  • React+Ant Design的Layout布局实现暗黑模式切换
  • [极客大挑战 2019]Upload_3.19BUUCTF练习day3(2)
  • Ubuntu如何部署AI-Sphere-Butler(metahuman-stream)
  • 23种设计模式-创建型模式-抽象工厂
  • python中两个星号什么意思
  • C#入门学习记录(五)轻松掌握条件分支与循环语句
  • AI+金融 应用 使用DeepSeek、Qwen等大模型输入自然语言,得到通达信等行情软件公式代码,导入后使用
  • 日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(25):解释说明:という
  • draw.io费的思维导图软件、支持ProcessOn无水印导出。
  • M-LAG 技术全面解析
  • 基于springboot的墙绘产品展示交易平台(037)
  • 进程状态与PV操作
  • Android 13组合键截屏功能的彻底移除实战
  • 数据库MVCC详解
  • Netty——NIO 空轮询 bug
  • 直观理解ECC椭圆曲线加密算法
  • 特征工程自动化(FeatureTools实战)
  • Windows 上彻底卸载 Node.js
  • Linux信号处理:从内核机制到工程艺术
  • nano 是一个简单易用的命令行文本编辑器,适合在终端中快速编辑文件。它比 vi 或 vim 更容易上手,特别适合初学者
  • ES集群的部署