为何要封装?
我们在后端写视图时,时不时会用到上传图片到七牛云,为了节约时间,减少代码重用问题,把七牛云代码封装起来,使用时直接调用即可!
1.配置文件
把七牛所用的参数放在配置文件中,避免修改
2.封装
from qiniu import Auth,put_file
from flask import current_app
class QiniuTool():
def __init__(self):
ak = current_app.config.get('QINIU_AK')
sk = current_app.config.get('QINIU_SK')
self.q = Auth(ak,sk)
self.bucket_name = current_app.config.get('QINIU_BUCKET')
def upload(self,localfilepath,newfilename):
'''
七牛云上传图片
:param localfilepath: 本地文件地址
:param newfilename:上传后的文件名
:return:
'''
token = self.q.upload_token(self.bucket_name,newfilename,3600)
res = put_file(token,newfilename,localfilepath,version='v2')
print(token)
if res[0]['key'] == newfilename:
return newfilename
else:
return False