首页 > 编程知识 正文

富文本上传图片怎么处理,js字符串转base64

时间:2023-05-04 19:36:43 阅读:13823 作者:1445

1 .问题说明由于需要调用第三方公司的图像识别接口,参与者需要证书类型、图像类型、图像base64字符串,并以http json格式调用。

它最初采用的方式是在前端对图像进行base64处理,在后端进行组装,直接调用第三方界面,然后将结果返回到前端进行显示。 但在合并过程中,前端对图像转换base64字符串后,大小放大近一倍,传输到后台后,有时识别不准确,数据丢失,字符太多,调试后端也很麻烦

2 .解决方案采用前端不进行Base64处理、文件上传到后端不落地、直接读取文件流、转换为Base64字符后调用第三方图像识别接口的方式

2.1控制器收到前端上传文件@ request mapping (value='/gettestbyfile ),并输入method=request method.post (publicoood returnnewresponseentity(result,HttpStatus.OK ); }catch(exceptione ) { logger.error )、e.getMessage ); 返回新响应实体(调用接口(e.getMessage ) )、http status.internal _ server _ error ); } } 2.2 service读取文件流,并使用Base64个字符的publicobjectgettestbyfile (多文件、String cardType、String imgtype ) throws exchexce String imgtype )进行转换/**删除无关代码、**/return imageBase64; } publicstringgeneratebase 64 (多文件) throwsexception(if ) file==null|| (文件. isempty ) ) thrownewrunnnew ) } string filename=file.getoriginalfilename (; string filetype=filename.substring (filename.lastindexof ('.' ) ); if (!' . JPG'.equals(filetype ).jpg'.equals(filetype ) ) { throw new BizException图像格式仅支持jpg、png! ) )。 ); } byte [ ]数据=null; try { inputstream in=file.get inputstream (; data=new byte[in.available () ]; in.read (数据; in.close (; }catch(ioexceptione ) { e.printStackTrace ); } base64编码器编码器=new base64编码器(; 返回编码器. encode (data;更多知识请关注公众号:「软件老王」,IT技术与相关干货共享,回复关键词获取对应干货,发送java,必看《武功秘籍》10册;图片,发送100多万张商用高清图片; 3358www.Sina.com/毕业后马上发送能拿到月薪“20k”的java面试问题,“面试”、“3358www.Sina.com/”等继续更新中

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。