Files
if.u.clients.web/publish.py
2025-10-27 21:16:25 +08:00

50 lines
1.8 KiB
Python

import os
import qiniu
# 七牛云的配置信息
access_key = 'IpeHQ-vdzi2t1YD53NDupyE8e9kxNZha2n5-m_3J'
secret_key = '7wF4JM0cnKFwBfrGVZrS12Wq4VWbphm0DpHRfK6O'
bucket_name = 'ifindu'
# 可以指定一个七牛云空间的前缀,方便管理文件
prefix = ''
# 初始化七牛云的认证信息
q = qiniu.Auth(access_key, secret_key)
# 初始化七牛云的存储桶对象
bucket = qiniu.BucketManager(q)
def upload_file(local_file_path, remote_file_path):
"""
上传单个文件到七牛云
:param local_file_path: 本地文件的路径
:param remote_file_path: 七牛云空间中的文件路径
"""
# 生成上传凭证
token = q.upload_token(bucket_name, remote_file_path)
# 初始化七牛云的上传对象
ret, info = qiniu.put_file(token, remote_file_path, local_file_path)
if info.status_code == 200:
print(f"文件 {local_file_path} 上传成功,七牛云路径: {remote_file_path}")
else:
print(f"文件 {local_file_path} 上传失败,错误信息: {info.text_body}")
def upload_folder(folder_path):
"""
上传文件夹到七牛云
:param folder_path: 本地文件夹的路径
"""
for root, dirs, files in os.walk(folder_path):
for file in files:
# 构建本地文件的完整路径
local_file_path = os.path.join(root, file)
# 构建七牛云空间中的文件路径
relative_path = os.path.relpath(local_file_path, folder_path)
remote_file_path = os.path.join(prefix, relative_path).replace("\\", "/")
# 调用上传单个文件的函数
upload_file(local_file_path, remote_file_path)
if __name__ == "__main__":
# 要上传的本地文件夹路径
local_folder_path = 'dist/'
upload_folder(local_folder_path)