首页 > 其他分享 >No connection adapters were found for 'data:image/png;base64

No connection adapters were found for 'data:image/png;base64

时间:2024-06-17 17:35:04浏览次数:22  
标签:No data image base64 URI Data png

No connection adapters were found for 'data:image/png;base64,...' 这个错误通常发生在尝试使用像requests这样的HTTP库去访问一个Data URI scheme时。Data URI scheme(如data:image/png;base64,...)不是一个有效的URL,而是一个嵌入在文档或网页中的二进制数据的直接表示,通常用于嵌入图像、样式或其他资源。

由于Data URI scheme不是一个指向网络上某个位置的URL,所以不能使用requests或其他HTTP客户端库去“下载”或“请求”它。相反,你应该直接从Data URI中提取出Base64编码的数据,然后将其解码为二进制数据,并最终写入文件。

如果你正在处理一个包含Data URI的字符串,并且想要将其保存为PNG图片,你可以使用Python的base64库来解码Base64字符串,并将其保存为文件。以下是一个简单的示例:

import base64
import io
from PIL import Image

# 假设你有一个包含Data URI的字符串
data_uri = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

# 分割Data URI以获取Base64编码的部分
_, encoded_image = data_uri.split(',', 1)

# 解码Base64字符串为二进制数据
decoded_image = base64.b64decode(encoded_image)

# 使用PIL库将二进制数据转换为图像对象
image = Image.open(io.BytesIO(decoded_image))

# 将图像保存到本地文件
image.save('output.png')

 

在这个例子中,我们首先使用字符串的split方法将Data URI分割为两部分:MIME类型和Base64编码的数据。然后,我们使用base64.b64decode函数解码Base64字符串为二进制数据。接下来,我们使用PIL(Python Imaging Library,也称为Pillow)的Image.open方法来打开一个从二进制数据中创建的类文件对象(使用io.BytesIO)。最后,我们使用image.save方法将图像保存到本地文件。

标签:No,data,image,base64,URI,Data,png
From: https://www.cnblogs.com/pqhuang/p/18252850

相关文章

  • 知识库的创建(1) - KnowledgeFile文件加载和分割
    文章目录前言一、类的初始化方法`__init__`1.参数解析2.初始化步骤二、方法`file2docs`1.功能2.参数3.步骤三、方法`docs2texts`1.功能2.参数3.步骤四、方法`file2text`1.功能2.参数3.步骤五、方法`file_exist`1.功能2.返回3.方法`get_mtim......
  • 近期火热的巴西推广casino游戏推广快手视频kwai广告怎么做
    近期火热的巴西推广casino游戏推广快手视频kwai广告怎么做在巴西这个充满活力的国度,casino游戏一直以其独特的魅力吸引着众多玩家的关注。近年来,随着数字媒体的兴起,越来越多的游戏开发者选择通过快手视频kwai平台投放广告,以拓展巴西市场的用户基础。本文将详细介绍在巴西推广c......
  • html2canvas插件 线上image转base64
    UncaughtDOMException:Failedtoexecute'toDataURL'on'HTMLCanvasElement':Taintedcanvasesmaynotbeexported.html2canvas,如果html中有image,需要转base64才能正常转换image。本地调试可能存在跨域访问图片问题。由于图片服务器未开启跨域允许权限。Access-Control-A......
  • Ant Design Vue 的 Notification 组件如何调用以及常见问题解释
    AntDesignVue是一个基于Vue.js的UI组件库,它提供了一套丰富的组件来构建高质量的企业级应用程序。其中,Notification组件用于在屏幕的角落显示全局通知,以告知用户某些信息或操作的结果。以下是关于如何在AntDesignVue中调用Notification组件的详细介绍。什么是......
  • 快速解决:使用Mindspore框架时报错!!libgomp-6e1a1d1b.so.1.0.0: cannot allocate memory
    前言:最近在用ms跑大模型,需要做好多步骤,遇到报错跟大家一起分析一下吧刚开始转换权重就遇到了下述报错:ImportError:/root/anaconda3/envs/MS/lib/python3.9/site-packages/torch/lib/../../torch.libs/libgomp-6e1a1d1b.so.1.0.0:cannotallocatememoryinstaticTLSblo......
  • 解释一下这段代码 npm i --no-save --legacy-peer-deps react@17
    这段命令是用于在Node.js项目中安装React17版本的一个指定操作,具体各部分含义如下:npmi或npminstall:这是用于在Node.js项目中安装包的命令,会根据package.json文件中的dependencies或devDependencies安装所有依赖,如果没有指定特定包,则会安装所有列出的依赖。--no-save:这......
  • MYSQL查询语句报1 of ORDER BY clause is not in SELECT list
    我的语句如下:SELECTDISTINCT r.id, r.device_model_id, r.device_model_name, r.alarm_type_id, r.alarm_type_name, r.alarm_level, r.filter_condition, r.filter_condition_value, r.offline_tag, p.param_data_id, p.parmsFROM alarm_ruler, alarm_rule_pa......
  • 论文阅读:《Chinese Relation Extraction with Multi-Grained Information and Externa
    LiZ,DingN,LiuZ,etal.Chineserelationextractionwithmulti-grainedinformationandexternallinguisticknowledge[C]//Proceedingsofthe57thAnnualMeetingoftheAssociationforComputationalLinguistics.2019:4377-4386.该方法的github实现引言针......
  • Large Language Models as Financial Data Annotators: A Study on Effectiveness and
    本文是LLM系列文章,针对《LargeLanguageModelsasFinancialDataAnnotators:AStudyonEffectivenessandEfficiency》的翻译。作为财务数据注释器的大型语言模型:有效性和效率研究摘要引言相关工作数据集实验结果讨论局限性结论摘要由于缺乏领域专......
  • 基于Vue+Nodejs实现医药商城销售系统
    作者主页:编程指南针作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互......