当前位置: 首页 > 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 });
});

相关文章:

  • 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)
  • 日本广岛大学一处拆迁工地发现疑似未爆弹
  • 广东省人大教科文卫委原主任委员梁万里被开除党籍:退休后受贿仍不知止
  • 世界期待中美对话合作带来更多确定性和稳定性
  • 技术派|巴基斯坦导弹:让印度保持克制的“定海神针”?
  • 汉斯·季默:不会指挥的声音工程师终成音乐“大神”
  • 巴基斯坦外长:印巴已同意立即停火