前言:
因为最近写界面需要访问图片,将图片保存在本机我觉得不方便,于是就想着把图片上传到网上,通过链接去访问,便有了本文
注册并创建空间:
七牛云官网进行注册
进行实名认证
创建空间,可以免费用30天:
记住这个外链域名,需要这个域名来访问图片
点击右上角个人中心,获取AK,SK
代码调用:
我们可以直接使用pip命令下载七牛云的SDK。
pip install qiniu
import uuid
from qiniu import Auth, put_file
class Uploadimg:
#初始化
def __init__(self,ak='填入第一步中的AK',sk='填入第一步中的SK') -> None:
self.access_key = ak
self.secret_key = sk
#请求token
def __qiniu_token(self,bucked_name, key):
q = Auth(access_key=self.access_key,
secret_key=self.secret_key)
token = q.upload_token(bucked_name, key)
return token
#上传图片并返回图片的链接
def upload_img(self,file_path,bucked_name,domain_name):
"""
file_path:上传的图片本机地址
bucked_name:第一步自己创建的空间
domain_name:第一步中的外域链接
"""
file_name = '{}.png'.format(uuid.uuid4()) #上传后的图片的保存名
token = self.__qiniu_token(bucked_name, file_name) #获取token,上传到指定的空间
ans,_ = put_file(token, file_name, file_path)
img_key = ans.get('key') #获取返回值中的图片地址
return 'http://%s/%s'%(domain_name,img_key) #返回完整的图片链接
if __name__ == '__main__':
up = Uploadimg('ak','sk')
try:
url = up.upload_img('本机图片','空间名','域名')
print(url)
except Exception as e:
print(e)
结果:
这里的输出值就是一个图片的链接,访问这个链接就能看到我刚才上传的自拍了