谷歌眼镜瓷砖插入图片来自数据网址

2024-09-29 19:34:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Django用Python编写我的玻璃器皿应用程序,我有一个dataURL,我想将其作为图像插入到玻璃砖中。我尝试将URL作为图像单独插入:

dataURL = canvas_file.value() //Just extracting the value of the dataURL from a Django form

tile = {
        "html": "<img src={0}>".format(dataURL),
        "speakableType":"Description.",
        "speakableText":message,
        "menuItems": [ { "action":"READ_ALOUD"}, ],
        "notification": {
        "level": "DEFAULT"
         }
        }

service.timeline().insert(body=tile).execute()

但是数据url非常长(以至于浏览器拒绝导航到它),glass不想从其源加载图像。有没有一种方法可以在Python中对数据url进行编码,以便将其作为媒体附件插入?在


Tags: the数据django图像应用程序urlvaluefile
1条回答
网友
1楼 · 发布于 2024-09-29 19:34:10

数据uri本质上是base64编码的图像。在

例如,在该图像中:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />

这是映像的base64数据:

^{pr2}$

一旦您有了这些,将数据URI的base64部分转换回二进制文件以作为附件进行流式处理非常简单:

import base64
import io

from apiclient import errors
from apiclient.http import MediaIoBaseUpload

...

timeline_item = {'text': 'Hello world'}
media_body =  MediaIoBaseUpload(io.BytesIO(base64.b64decode('iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==')), mimetype="image/png", resumable=True)

service.timeline().insert(body=timeline_item, media_body=media_body).execute()

相关问题 更多 >

    热门问题