java传base64返回给数据报404踩坑
一、问题复现
1.可能因为base64字符太长,导致后端处理时出错,表现为前端请求报400错误;
这一步debug进去发现base64数据是正常传值的

所以排除掉不是后端问题,但是看了下前端请求,猜测可能是转换base64时间太长数据过大导致的404

2.前端传数据到后端时可能base64字符串中的特殊字符被替换,例如+被替换成空格,表现为上传的图片不完整
解决方案
- 后端去除多余空格与换行
byte[] bytes = Base64.encodeBase64(bao.toByteArray());String base64 = new String(bytes);base64 = base64.replaceAll("\n", "").replaceAll("\r", "");
- 前端
var base64Image = res // 后台返回的base64数据var imgData = base64Image.replace(/[\r\n]/g, '') // 将回车换行换为空字符''
二、关于base64文件过大问题
在配置文件中设置server.max-http-header-size(最大http请求头大小),其默认值为8KB,通常图片的base64会超过默认值,但是也不是越大越好(设置2MB,然后前端再限制一下图片的大小或者压缩图片),大了反而有大问题
三、建议
建议能不使用base64上传文件就不使用,一张2MB的图片转成base64字符串大概有3000000+个字符,这个需求主要是模板拼接各种二维码,又不能使用存储后返回图片url,目前只能想到返回流数据及base64到前端解析图片了
相关文章:
java传base64返回给数据报404踩坑
一、问题复现 1.可能因为base64字符太长,导致后端处理时出错,表现为前端请求报400错误; 这一步debug进去发现base64数据是正常传值的 所以排除掉不是后端问题,但是看了下前端请求,猜测可能是转换base64时间太长数据过大导致的404 2.前端传…...
【Delphi】Android 开发HTTP请求出错解决方案
目录 一、故障现象 二、原因及解决方案 一、故障现象 在android内建的WebBrowser浏览器中通过http访问一个网站(注意不是https),出现如下错误提示: 在使用ntfy的时候,访问http定义的服务器地址(注意不是…...
Kafka中遇到的错误:
1、原因:kafka是一个去中心化结果的,所以在启动Kafka的时候,每一个节点上都需要启动。 启动的命令:kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties...
线程安全(JAVA)
线程安全对于我们编写多线程代码是非常重要的。 什么是线程安全? 在我们平时的代码中有些代码在单线程程序中可以正常执行,但如果同样的代码放在在多个线程中执行就会引发BUG,而这种现象我们一般称为 “线程安全问题” 或 “线程不安全”。…...
Lightroom Classic 2021 v10.4
Lightroom Classic 2021是一款一体化照片管理和编辑解决方案。 它面向专业人士和高端用户,支持各种不同相机的原始图像编辑,包括Canon、Apple、Casio、Contax、DxO、Epson等品牌。这样可以将原图像快速导入进行编辑,轻松满足不同用户的需求。…...
Java面试题03
1.Java容器都有哪些 Java提供了丰富的容器类,包括Collection接口的实现类(如List、Set等)和Map接口的实现类(如HashMap、TreeMap等),它们分别用于存储不同类型的元素和键值对。 Java容器主要分为两种类型&a…...
【操作系统】测试二
文章目录 单选题判断题填空题 单选题 在操作系统中,进行资源分配、调度和管理的最小独立单位是()。 【 正确答案: C】 A. 作业 B. 程序 C. 进程 D. 用户 进程在发出I/O请求后,可能导致下列哪种进程状态演变? 【 正确答…...
大厂面试题-索引有哪些缺点以及具体有哪些索引类型
第一个,索引的优缺点 优点: 1、合理的增加索引 ,可以提高数据查询的效率 ,减少查询时间 2、有一些特殊的索引 ,可以保证数据的完整性 ,比如唯一索引 缺点: 1、创建索引和维护索引需要消耗时间…...
Vue真实技术面试题解析【兄弟组件、vue-router、增量部署】
兄弟组件的传值方式,有两种方式,把你尽可能知道的告诉我 我的答案:使用父组件传值 和 状态管理传值 使用事件总线(Event Bus):创建一个空的 Vue 实例作为事件总线,在其中定义事件和对应的处理函…...
响应式生活常识新闻博客资讯网站模板源码带后台
模板信息: 模板编号:30483 模板编码:UTF8 模板分类:博客、文章、资讯、其他 适合行业:博客类企业 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统,原创设计、手工书写DIVCSS&a…...
获取AAC音频的ADTS固定头部信息
文章目录 前言一、AAC音频中的ADTS二、解析ADTS信息1.标准文档中介绍2.解析3.采样率索引和值4.下载AAC标准文档 前言 调试嵌入式设备中播放aac音频的过程中,了解了aac音频格式,记录在此,防止遗忘。 一、AAC音频中的ADTS ADTS(Audi…...
二分查找--C++实现
1. 简介 满足有序性,每次排除一半的可能性。 2. 实现 2.1 手写 int bin_search(vector<int> &arr,int v) {int hi arr.size() - 1;int lo 0;while ( lo < hi){int mid (lo hi) >> 1;if (arr[mid] < v)lo mid 1;elsehi mid - 1;}re…...
计算机毕设 基于机器学习的文本聚类 - 可用于舆情分析
文章目录 0 简介1 项目介绍1.1 提取文本特征1.2 聚类算法选择 2 代码实现2.1 中文文本预处理2.2 特征提取2.2.1 Tf-idf2.2.2 word2vec 2.3 聚类算法2.3.1 k-means 2.3.2 DBSCAN2.4 实现效果2.4.1 tf-idf k-means聚类结果2.4.2 word2vec k-means 聚类结果 最后 0 简介 今天学…...
uniApp获取当前位置经纬度
以下是使用uni.getLocation获取当前位置的示例代码: 调用uni.getLocation方法获取当前位置信息 uni.getLocation({type: wgs84, // 坐标类型,默认为wgs84,可选的值为gcj02和bd09llsuccess: res > {// 获取成功,经度和纬度在r…...
this.$message提示内容添加换行
0 效果 1 代码 let msgArr [只允许上传doc/docx/xls/xlsx/pdf/png/jpg/bmp/ppt/pptx/rar/zip格式文件,且单个文件大小不能超过20MB,已过滤无效的文件] let msg msgArr.join(<br/>) this.$message({dangerouslyUseHTMLString: true,message: msg,type: warning })...
“三大阶段稳定性测试”筑牢长安链信任基石
前言 随着长安链应用生态的不断丰富、面对的应用场景更加多元,稳定性测试在长安链测试流程中占到越来越重要的位置。本文将介绍长安链稳定性测试的发展历程及如何通过三大阶段稳定性测试应对不断出现的复杂的商业需求,筑牢长安链信任基石。 功能测试和…...
手把手教你如何扩展(破解)mybatisplus的sql生成 | 京东云技术团队
mybatisplus 的常用CRUD方法 众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入、更新、删除、查询等)的定义,能够帮助我们节省很多体力劳动。 他的BaseMapper中定义了这些常用的C…...
Spring Data JPA 项目配置与QueryDSL集成
一、说明 Spring Data JPA通过Spring Initializer创建时勾选相关依赖即可引入,QueryDSL需要单独引入。Spring JPA针对QueryDSL有比较好的兼容性,可以实现优雅的SQL构建。 二、设置JPA默认配置(yaml格式) spring:jpa:hibernate:…...
UE5数字孪生制作-数据篇(二) - 数据处理
1.卫星图与DEM高度图坐标一致处理 https://www.bilibili.com/video/BV1op4y1V71r?p4&vd_source707ec8983cc32e6e065d5496a7f79ee6 坐标系的调整 如何使用临时图层,对其他数据层进行裁切 (1)创建临时图层 (2)在临…...
Java 设计模式——享元模式
目录 1.概述2.结构3.实现3.1.抽象享元3.2.具体享元3.3.享元工厂3.4.测试 4.优缺点5.使用场景6.JDK 源码解析——Integer 类 1.概述 (1)享元模式 (Flyweight Pattern) 是一种结构型设计模式,主要通过共享对象来减少系统中的对象数量ÿ…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
