补充:文件上传、下载传输给前端之直接传递图片二进制数据:网络中的图片、音频、视频等非字符数据的传输

news/2025/2/24 13:44:31

文章目录

  • 1 Base64编码传递图片、视频二进制数据
  • 2 后端直接传递图片二进制数据案例
    • 2.1 后端:创建专用DTO(推荐方案)
    • 2.2 前端处理建议


1 Base64编码传递图片、视频二进制数据

前面我们在学习Java的IO流的时候讲过字节流和字符流。

  • 字符的传输:前后端字符的传输JSON中就是直接传字符就可以了
    讲一下实际中的变换过程:
    字符流中字符的传输是 参考博客 字符串 —>(编码方式对应起来)字符数组 —>二进制数据—>字符数组—>(解码)字符串
  • 图片、音频、视频:前后端传输(一般情况下我们使用云存储直接使用云存储提供的链接就可以访问)
    但是有时候如果某些情况下必须要传二进制数据呢?JSON不支持直接传
    这里二进制字节数据的传输在JSON中并不支持直接传输二进制数据
    Base64编码传输流程(特定场景)
graph LR
A[原始图片文件] --> B[二进制字节流]
B --> C[Base64编码]
C --> D[字符串]
D --> E[网络传输]
E --> F[接收端字符串]
F --> G[Base64解码]
G --> H[二进制流]
H --> I[还原图片]

Base64编码:简单来说就是将图片的元素的01这种二进制数据转换成字符串传输的规则
我们后端传的是个


http://www.niftyadmin.cn/n/5864407.html

相关文章

vscode settings(一):全局| 用户设置常用的设置项

参考资料 Visual Studio Code权威指南 by 韩骏 一. 全局设置与用户设置 1.1 Vscode支持两种不同范围的设置 用户设置(User Settings):这是一个全局范围的设置,会应用到所有的Visual Studio Code实例中。工作区设置(Workspace Settings):设…

【多线程-第三天-NSOperation的练习-tableView异步下载网络图片-下载操作缓存池 Objective-C语言】

一、下载操作缓存池 1.下面我们来看操作缓存池,我们先演示一下问题,看看为什么要加这么一个操作缓存池,什么是操作缓存池,不用管呢,我们先来看啊,首先有什么问题, 看这个问题之前,我这儿写一个touch,点击屏幕的时候调用, 额,不能点击屏幕啊,因为现在屏幕点不着,我…

如何自由切换 Node.js 版本?

作为开发者,我们经常在不同的项目中需要使用不同版本的 Node.js。有时旧项目需要旧版本,而新项目则可能依赖最新的 Node.js 版本。手动安装、卸载、切换版本不仅麻烦,而且容易出错。为了解决这个问题,Node.js 社区提供了多种方便的…

【论文解读】《Training Large Language Models to Reason in a Continuous Latent Space》

论文链接 1. 背景与动机 语言空间与推理的矛盾 目前大多数大语言模型(LLMs)在解决复杂问题时采用链式思维(Chain-of-Thought, CoT)方法,即利用自然语言逐步推导出答案。然而,论文指出: 自然语言…

力扣——搜索二维矩阵

题目链接: 链接 题目描述: 思路: 可以发现,如果把每一行拼起来,就是一个递增的数组,可以在这个递增的数组上使用二分法找到target如果拼起来的某个元素索引是i,那它在二维矩阵里面的索引是【…

【C++】list 链表的使用+模拟实现

目录 文章目录 前言 一、list的简介 二、list的使用方法 三、list的模拟实现 1.基本框架: 2.迭代器实现 3.常用接口实现 四、完整代码 总结 前言 本文主要介绍C【STL】容器中的 list,包括接口说明和模拟实现。其中讲解了迭代器功能上的分类&am…

哈希表入门到精通:从原理到 Python 实现全解析

系列文章目录 01-从零开始掌握Python数据结构:提升代码效率的必备技能! 02-算法复杂度全解析:时间与空间复杂度优化秘籍 03-线性数据结构解密:数组的定义、操作与实际应用 04-深入浅出链表:Python实现与应用全面解析 …

如何在望获实时 Linux 京博航友善 NanoPC-T6 上部署 Docker

在数字化浪潮席卷各行业的当下,开发者们对于高效、稳定开发环境的追求从未停歇。望获实时 Linux 与京博航友善 NanoPC-T6 开发板的组合,为开发者们提供了一个强大的平台。本文将详细介绍如何在这套平台上部署 Docker 环境,助力开发者们快速构…