插件窝 干货文章 Python后台如何上传图片到七牛云并获取URL?

Python后台如何上传图片到七牛云并获取URL?

上传 Key Python URL 290    来源:    2025-03-22

要在Python后台上传图片到七牛云并获取URL,你可以使用七牛云提供的Python SDK。以下是详细的步骤和代码示例:

1. 安装七牛云Python SDK

首先,你需要安装七牛云的Python SDK。你可以使用pip来安装:

pip install qiniu

2. 获取七牛云的Access Key和Secret Key

在七牛云控制台中,你可以获取到Access KeySecret Key。这些信息将用于认证和授权。

3. 编写Python代码上传图片并获取URL

from qiniu import Auth, put_file, etag
import qiniu.config

# 需要填写你的 Access Key 和 Secret Key
access_key = 'your_access_key'
secret_key = 'your_secret_key'

# 构建鉴权对象
q = Auth(access_key, secret_key)

# 要上传的空间
bucket_name = 'your_bucket_name'

# 上传到七牛后保存的文件名
key = 'my-python-logo.png'

# 生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)

# 要上传文件的本地路径
localfile = './logo.png'

# 上传文件
ret, info = put_file(token, key, localfile)
print(info)
assert ret['key'] == key
assert ret['hash'] == etag(localfile)

# 获取文件的URL
base_url = 'http://your_domain/{key}'.format(key=key)
private_url = q.private_download_url(base_url, expires=3600)

print("文件URL:", private_url)

4. 代码说明

  • Auth对象:用于生成上传凭证(Token)。
  • upload_token:生成上传凭证,bucket_name是你要上传的空间名,key是文件在七牛云上的文件名,3600是Token的有效期(秒)。
  • put_file:上传文件到七牛云。
  • private_download_url:生成私有文件的下载URL。如果你上传的文件是公开的,可以直接使用base_url

5. 注意事项

  • 域名your_domain需要替换为你七牛云空间绑定的域名。
  • 私有空间:如果你使用的是私有空间,生成的URL是临时的,过期后需要重新生成。
  • 公开空间:如果你使用的是公开空间,生成的URL是永久的,可以直接访问。

6. 处理上传结果

put_file函数返回的retinfo分别包含上传结果和详细信息。你可以根据info.status_code来判断上传是否成功。

if info.status_code == 200:
    print("上传成功")
else:
    print("上传失败")

7. 完整示例

将上述代码整合到一个完整的Python脚本中,你就可以在后台上传图片到七牛云并获取URL了。

8. 参考文档

通过以上步骤,你可以轻松地在Python后台实现图片上传到七牛云并获取URL的功能。