有时有需求得到一个图片url,但是,这个url又不能直接下载(如果程序运行在服务器,那下载下图片,会不方便)这时候可以用python方法将图片url打开,并编码为base64,返回这个base64编码,在另一边将这个编码进行解码即可得到这个图片。
import os,base64
import requests as req
from PIL import Image
from io import BytesIO
response = req.get('http://pic35.nipic.com/20131121/2531170_145358633000_2.jpg') # 将这个图片保存在内存
# 将这个图片从内存中打开,然后就可以用Image的方法进行操作了
image = Image.open(BytesIO(response.content))
# 得到这个图片的base64编码
ls_f=base64.b64encode(BytesIO(response.content).read())
# 打印出这个base64编码
print type(ls_f)
#########################
# 下面是将base64编码进行解码
imgdata=base64.b64decode(ls_f)
# 将它用写入一个图片文件即可保存
file=open('3.jpg','wb')
file.write(imgdata)
# 关闭这个文件
file.close()