base64编码上传图片java后台接收实例

2023-10-31

#思路
前台传以data:image/jpeg;base64,开头的base64编码的String字符串,后台接收字符串以后先进行base64解码 .decodeBuffer(),转换成二进制编码,然后使用字节输出流FileOutputStream()将文件保存到指定目录下。
报下面的错误
Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
要修改tomcat下sever.xml,header的大小
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8000" protocol="HTTP/1.1" redirectPort="8443" maxHttpHeaderSize="10485760"/>
将base64编码转成二进制

                    // 通过base64来转化图片
					imageFile = imageFile.replaceAll("data:image/jpeg;base64,", "");      
					BASE64Decoder decoder = new BASE64Decoder();
					// Base64解码      
					byte[] imageByte = null;
					try {
						imageByte = decoder.decodeBuffer(imageFile);      
						for (int i = 0; i < imageByte.length; ++i) {      
							if (imageByte[i] < 0) {// 调整异常数据      
								imageByte[i] += 256;      
							}      
						}      
					} catch (Exception e) {
						 e.printStackTrace(); 
					}					

将二进制转成file文件

        // 生成文件名
		String files = new SimpleDateFormat("yyyyMMddHHmmssSSS")
				.format(new Date())
				+ (new Random().nextInt(9000) % (9000 - 1000 + 1) + 1000)
				+ ".png";
		// 生成文件路径
		String filename = Constant.UPLOAD_PATH + files;		
		try {
			// 生成文件			
			File imageFile = new File(filename);
			imageFile.createNewFile();
			   if(!imageFile.exists()){
				   imageFile.createNewFile();
	            }
				OutputStream imageStream = new FileOutputStream(filename);
				imageStream.write(imageByte);
				imageStream.flush();
				imageStream.close();					
		} catch (Exception e) {			
			e.printStackTrace();
		}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

base64编码上传图片java后台接收实例 的相关文章

  • 如何将log4j日志文件更改为utf8

    我收到了一个使用 log4j 作为记录器应用程序的代码 如何为其生成 UTF8 日志文件 log4j 创建的日志文件目前为 ASCII 格式 我已经尝试过以下操作 按照以下说明设置日志文件的文件编码 vi current set bomb
  • 如何在itext中设置自定义颜色?

    感谢您花时间回答我的问题 我正在使用 Java 中的 iText 生成 PDF 文档 我需要将表的列标题设置为与值列中的颜色不同的颜色 我有来自 Photoshop 的颜色十六进制值 我正在使用带有块和段落的 PdfPTable 除了 Ba
  • java字符串索引越界异常

    从类中调用函数时出现以下错误 java lang StringIndexOutOfBoundsException 字符串索引超出范围 1 尽管我使用系统打印来查看我在 substring 函数中传递的输入 但一切似乎都是正确的 函数 isC
  • while循环内的递归,它是如何工作的?

    你能告诉我这段java代码是如何工作的吗 public class Main public static void main String args Strangemethod 5 public static void Strangemet
  • 删除 PriorityQueue 的顶部?

    假设我使用 Java util 中的 PriorityQueue 类 我想从 PriorityQueue pq 中删除最大的数字 我们假设它位于队列的头部 下面的工作会起作用吗 1 int head pq peek pq dequeue h
  • jUnit 中每个 @Test 的不同拆卸

    有没有办法为 jUnit 中的每个 Test 定义不同的拆卸 Use the After注释来指示每个之后要运行的方法 Test 像这样的全套注释是 BeforeClass 首先 Tests are run Before 在每个之前 Tes
  • CXF 客户端异常:{XXX} 的拦截器已引发异常,现在展开

    我遇到以下 CXF 异常 warning Interceptor for http example com wsdl esc 2011 12 12 AmazonEC2 http example com wsdl esc 2011 12 12
  • 如何暂停程序直到按下按钮?

    我使用从 jframe 扩展的类 它有一个按钮 我在程序中使用它 我希望当在我的程序中运行 jframe 时我的整个程序暂停 直到我按下按钮 我该怎么做 in c getch 做这个 我想要一个这样的功能 通过睡眠暂停执行 http dow
  • 如何将选定的项目移动到列表顶部

    List
  • 椭圆与椭圆如何相交?

    我用的是JAVA Ellipse2D s1 new Ellipse2D Float 0 0 100 100 System out println s1 intersects 99 30 100 100 应该返回 false 但它返回 tru
  • 为什么ArrayList没有getSize()而不是size()?

    我在一些 JSP 页面中大量使用 ArrayList 我想像这样访问 ArrayList myArrayList size 但由于对象必须符合 JavaBean 标准 其中myArrayList getMyPropertyName is m
  • 在 Android 上解析 RSS

    我有几个 RSS 源需要为我的应用程序进行解析 我按照这里的优秀教程进行操作 http w2davids wordpress com android rssatom feeds parsing with rome http w2davids
  • Spring 在 AuthenticationSuccessHandler 中自动装配会话范围 bean 不起作用

    我正在使用 spring security 我想初始化一个对象User在用户成功登录后的会话中 安全配置如下 Configuration EnableWebSecurity PropertySource classpath configs
  • 测试正确的时区处理

    我们正在处理大量数据 所有数据均以 UTC Java 语言 标记 在读取这些数据 将其存储在数据库中以及再次将其取出之间 发生了一些数据在夏令时期间关闭一小时的情况 由于 UTC 没有夏令时的概念 这显然是软件中的一个错误 一旦知道 就很容
  • 没有字符串参数构造函数/工厂方法可以从字符串值 ('') 反序列化

    我在使用时遇到了 json 解析问题ObjectMapper类来自com fasterxml jackson databind包 我得到的错误是 com fasterxml jackson databind JsonMappingExcep
  • HttpMediaTypeNotAcceptableException / HttpMediaTypeNotAcceptableException:找不到可接受的表示

    我有一个客户端正在尝试连接的 API 但是它会抛出错误 2015 09 22 04 21 44 297 org springframework web servlet mvc method annotation HttpEntityMeth
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 访问 JAR 资源

    我有一个jar包含我想要分发的资源 主要是缓存 日志记录等配置 的文件 我对这些资源的相对路径有问题 所以我做了我在另一个 stackoverflow 问题中发现的问题 该问题说这是一种有效的方法 ClassInTheSamePackage
  • SQL准备语句如何通过多个可能的菜单选择进行选择?

    所以我有 4 个菜单选择 产品 位置 课程类型和类别 所有这些都可以为空 使用 JSF 编程 但这应该与这个问题无关 因为它是一个 SQL 问题 菜单选择将向托管 bean 发送用户选择的变量 并使用准备好的语句使用用户选择的菜单中的信息
  • 这种说法是否恰当。 if (0 != 表达式或变量) {} 在java中? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 三调与二调图斑叠加分析,筛选不同地类面积占比,筛选举证图斑

    主要步骤 标识数据 叠加分析 用标识 生成所有相交图斑 属性有原图斑的地类和国家的地类 以及原图斑的面积 生成的面域 增加4个字段 图斑的三调一级类 图斑的国家NYYPDL 是否相同 标识后的图斑面积 转换三调地类为二调的一级类 转换国家地
  • 《最强大脑第九季》C#手撸傅立叶残影题目

    在最新一季的最强大脑总决赛中 有一个比赛项目 傅立叶残影 感觉印象深刻 原理就是五根针首尾相连 按照自身的转速和杆长运动 根据提供的每根杆的转速和杆长来判断出尾部运动的残影轨迹 原理比较简单 就是一个连杆运行 好吧 知道原理就可以动手开始撸
  • 整数除法JS

    param number a param number b return number var divide function a b const MIN Math pow 2 31 const MAX Math pow 2 31 1 判断
  • Redis的事务学习及用Redis实现乐观锁,redis数据类型总结

    一 Redis的事务操作 1 Redis 事务可以一次执行多个命令 并且带有以下三个重要的保证 批量操作在发送 EXEC 命令前被放入队列缓存 收到 EXEC 命令后进入事务执行 事务中任意命令执行失败 其余的命令 依然被执行 但是如果队列
  • C语言基础知识--变量

    目录 一 C语言变量 1 局部变量 1 什么是局部变量 2 代码示例 3 代码讲解 2 全局变量 1 什么是全局变量 2 代码示例 3 代码讲解 3 静态变量 1 全局静态变量 2 局部静态变量 3 代码示例 4 代码讲解 4 const常
  • 用Python制作一个自动抢票脚本

    前言 大麦网 是中国综合类现场娱乐票务营销平台 业务覆盖演唱会 话剧 音乐剧 体育赛事等领域 但是因为票数有限 还有黄牛们不能丢了饭碗 所以导致了 很多人都抢不到票 那么 今天带大家用Python来制作一个自动抢票的脚本小程序 知识点 面向
  • 死锁产生的条件及其如何处理

    一 原因与条件 产生死锁的原因主要是 因为系统资源不足 进程运行推进的顺序不合适 资源分配不当等 发生死锁的四个必要条件 相互排斥 所涉及的资源必须不可共享 否则 将不会阻止进程在必要时使用资源 保留并等待或部分分配 进程在等待其他 请求的
  • Quartus II 操作入门

    使用Quartus设计FPGA 简单包括以下流程 新建工程 写代码 编译工程 找错误 分配引脚 重编译 下载配置 到硬件 为保证设计的正确性 在编译后 一般还需要做仿真验证 然后下载至硬件 有两种仿真方式 功能仿真 时序仿真 新建工程 写代
  • (数学)GCD总结

    目录 简介 算法实现 代码 应用 简介 GCD即Greatest Common Divisor 例如 12和30的公约数有 1 2 3 6 其中6就是12和30的最大公约数 两个整数的最大公约数主要有两种寻找方法 两数各分解质因子 然后取出
  • Python + Selenium 练习篇 - 获取页面所有邮箱

    代码如下 coding utf 8import re python中利用正则 需要导入re模块from selenium import webdriverdriver webdriver Chrome driver maximize win
  • [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

    这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息 两种方法从本质上都是一样的 都是通过分析网页的DOM树结构进行元素定位 再定向爬取具体的电影信息 通过代码的对比 你可以进一步加深Python爬虫的印
  • Spring boot 注册过滤器的方式

    方式一 import jakarta servlet import jakarta servlet annotation WebFilter import java io IOException WebFilter public class
  • mysql 多线程查询全部数据_python使用多线程查询数据库的实现示例

    一 背景 当数据量过大时 一个程序的执行时间就会主要花费在等待单次查询返回结果 在这个过程中cpu无疑是处于等待io的空闲状态的 这样既浪费了cpu资源 又花费了大量时间 当然这里主要说多线程 批量查询不在考虑范围 总会存在不能批量查询的情
  • 使用Windows的cmd命令打包java项目为jar文件

    在操作前请确保你的电脑已配置java环境 即在环境变量中添加jdk的bin的路径 首先运行java文件检查源码是否有误 生成 class后在当前目录下打开cmd窗口 输入jar help检查环境是否配置好 如出现 无法将 jar help
  • 为什么使用$.ajax()中的data传参到后台取值为null

    注意 在调试时可以使用FF浏览器 因为他可以在调试时查看到请求中的内容和详情 场景如下 ajax url business RuleDef getKylinChartData 请求地址 type POST 请求类型 cache false
  • deepfake-faceswap第一篇论文-2016摘要

    核心目标 给定一个人的单张图片A 另一个人的单张图片B 在保持姿势 面部表情 视线方向 发型和光照不变的条件下 将A图片中的人物换成B图片中的人物 2016年 文章 1 实现了这个目标 德国的蒂宾根大学L A Gatys小组实现了对图片艺术
  • 2023华为od机试B卷【计算误码率】

    题目描述 误码率是最常用的数据通信传输质量指标 它可以理解为 在多少位数据中出现一位差错 移动通信 网络中的误码率主要是指比特误码率 其计算公式如下 比特误码率 错误比特数 传输总比特数 为了简单 我们使用字符串来标识通信的信息 一个字符错
  • 计算机组成原理大题简答题,常见问题总结(必背)

    计算机中采用二进制主要原因 技术实现简单 计算机由逻辑电路组成 逻辑电路通常只有两个状态 开关的接通与断开 这两种状态正好可以用 1 和 0 表示 简化运算规则 两个二进制数和 积运算组合各有三种 运算规则简单 有利于简化计算机内部结果 提
  • 环球新材国际:新业务增长点不断凸显 未来业绩增长稳定可期

    11月13日 环球新材国际 6616 HK 发布自愿性公告 披露了业务发展最新情况 从公告内容不难发现 未来公司有几大强力增长点 首先 在新能源电池业务方面年内已实现重大突破 尤其是在中期业绩报告中已有初具规模的收入体现 且具有十分乐观的未
  • base64编码上传图片java后台接收实例

    思路 前台传以data image jpeg base64 开头的base64编码的String字符串 后台接收字符串以后先进行base64解码 decodeBuffer 转换成二进制编码 然后使用字节输出流FileOutputStream