前期準備
注冊七牛云賬號,官網地址點這里。
注冊之后需要完成實名認證。
點擊左側邊欄對象存儲,創建存儲空間,存儲空間名稱即bucket_name, 上傳文件會使用到。
創建完成后查看空間域名,右側S3域名標題下的空間域名即上傳和訪問使用到的domain。
找到個人中心->秘鑰管理, 記錄上傳需要使用到的access_key和secret_key。
安裝模塊
官方提供了模塊,使用pip安裝即可。
pip install qiniu
代碼演示
from qiniu import Auth, put_data
class SevenCattle:
"""
單例模式七牛云文件上傳
"""
__instance = None
def __new__(cls, **kwargs):
if not cls.__instance:
cls.__instance = super().__new__(cls)
return cls.__instance
def __init__(self, **kwargs):
"""
:param access_key:
:param secret_key:
:param domain:
:param bucket_name:
"""
need_key = ('access_key', 'secret_key', 'domain', 'bucket_name')
for key in need_key:
val = kwargs.get(key, None)
if not val:
raise ValueError('{} is necessary.'.format(key))
setattr(self, key, val)
self._q = Auth(self.access_key, self.secret_key)
def upload(self, source_file_path, save_file_name):
"""
:param source_file_path: 源文件路徑
:param save_file_name: 保存至七牛云的文件名
:return:
"""
token = self._q.upload_token(self.bucket_name, save_file_name)
ret, info = put_data(token, source_file_path, save_file_name)
if info.status_code == 200:
return '/' . join([self.domain, save_file_name])
return None
if __name__ == '__main__':
config = {
'access_key': 'xx', # 填你的access_key
'secret_key': 'xx', # 填你的secret_key
'bucket_name': 'xx', # 填你的存儲空間名稱
'domain': 'xxx.com' # 填你的空間域名
}
seven_cattle = SevenCattle(**config)
url = seven_cattle.upload('main.py', 'main.py')
print(url)
個人博客地址http://blog.fenlanli.com
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
