我想将一个基于Web的图像转换为base64。目前我知道的方法是将图像保存为.jpg文件,然后使用base64库将.jpg文件转换为base64字符串。
我想知道是否可以跳过先保存图像的步骤?谢谢!
import base64
import requests
def get_as_base64(url):
return base64.b64encode(requests.get(url).content)
url
不可以是一个 s3 链接 吗? - aspiring1base64.b64encode(requests.get(url).content).decode('utf-8')
。 - Mark Kortink由于requests
不是官方包,我更喜欢使用urllib。
from urllib.request import urlopen
import base64
base64.b64encode(urlopen("http://xxx/yyy/abc.jpg").read())
这是我的解决方案:--
from base64 import b64encode
def url_to_base64(url):
headers = {
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
}
return b64encode(requests.get(url, headers=headers, timeout=120).content).decode(
"utf-8"
)