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

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

Key Python 上传 URL 928    来源:    2025-03-19

要在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, urlsafe_base64_encode
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
# 假设你的七牛云空间绑定的域名为 'your_domain.com'
domain = 'your_domain.com'
base_url = 'http://%s/%s' % (domain, key)

# 可以设置URL的过期时间,例如1小时
private_url = q.private_download_url(base_url, expires=3600)
print(private_url)

4. 代码解释

  • Auth对象:用于生成上传凭证(Token)。
  • upload_token:生成上传凭证,指定了存储空间(bucket_name)、文件名(key)和过期时间(3600秒)。
  • put_file:将本地文件上传到七牛云。
  • private_url:生成带有过期时间的私有下载链接。如果你使用的是公开空间,可以直接使用base_url

5. 运行代码

将上述代码保存为一个Python文件(例如upload_to_qiniu.py),然后在终端中运行:

python upload_to_qiniu.py

如果一切顺利,你将看到上传成功的信息,并且会打印出图片的URL。

6. 注意事项

  • 确保你的七牛云空间已经绑定了一个域名,并且该域名已经解析到七牛云的CDN节点。
  • 如果你使用的是私有空间,生成的URL将带有签名,并且会在指定的时间后过期。
  • 如果你使用的是公开空间,生成的URL可以直接访问,不需要签名。

通过以上步骤,你就可以在Python后台将图片上传到七牛云,并获取图片的URL了。