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接口,方便调用。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值