Python学习——使用七牛云存储照片等文件

我们在做网站开发时,有时需要用户上传文件,比如说最常见的照片。此时如果我们将文件直接存储在数据库中,一来会使得数据文件过多,二来用户在访问文件时会加剧数据库的负担。为此,我们可以将数据文件存放在网上,在访问文件时直接访问网上文件的链接即可。

这里我们采用七牛云来存储文件,我们拿照片类文件来举例。

1、注册七牛云账号

作为开发者的话,我们是需要注册成为开发者账号的。七牛的官网链接为: https://www.qiniu.com/

2、开发环境

我们以Python为例来说明下如何将照片上传到七牛云上,并返回该照片的链接回来。

官方文档 : https://developer.qiniu.com/kodo/sdk/1242/python

首先安装七牛云包

pip install qiniu

然后获取开发者 Access KeySecret Key。这两个key在注册后会在个人中心提供给我们的。

再然后需要建立一个bucket,也就是文件存储的仓库,我们需要的是它的bucket_name

以及我们的域名,这个域名如果不指定的话,七牛会给我们一个测试域名,我们暂时可以用这个测试域名:url

然后按照如下格式就可以了:

import qiniu


access_key = '*******************************'
secret_key = '*******************************'
url = '***************************'
bucket_name = '*******************'
q = qiniu.Auth(access_key, secret_key)

def qiniu_upload(key, localfile):
    token = q.upload_token(bucket_name, key, 3600)

    ret, info = qiniu.put_file(token, key, localfile)

    if ret:
        return '{0}{1}'.format(url, ret['key'])
    else:
        raise UploadError('上传失败,请重试')


key = '微信图片_20180408124226.jpg'
localfile = 'C:/Users/Administrator.SKY-20180408LJB/Desktop/微信图片_20180408124226.jpg'

res = qiniu_upload(key, localfile)
print(res)

我们只需要提供文件名,文件路径。便可以将其上传到七牛云上,并返回给我们一个可以访问该文件的url链接。

当然,也可以将其封装成一个API接口,方便调用。

猜你喜欢

转载自blog.csdn.net/geerniya/article/details/79850481
今日推荐