diff --git a/config/ucloud.py b/config/ucloud.py index af41e6d..44373b0 100644 --- a/config/ucloud.py +++ b/config/ucloud.py @@ -8,3 +8,5 @@ BUCKET = "drg100" UPLOAD_SUFFIX = ".cn-sh2.ufileos.com" # 下载后缀 DOWNLOAD_SUFFIX = ".cn-sh2.ufileos.com" +# 私空间文件地址过期时间(秒) +PRIVATE_EXPIRES = 3600 diff --git a/ucloud/ucloud.py b/ucloud/ucloud.py index 811e9b0..fce4417 100644 --- a/ucloud/ucloud.py +++ b/ucloud/ucloud.py @@ -3,14 +3,14 @@ import logging from ufile import filemanager -from config.ucloud import PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX, BUCKET +from config.ucloud import PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX, BUCKET, PRIVATE_EXPIRES + +UFILE_HANDLER = filemanager.FileManager(PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX) -def get_private_url(key): - get_ufile_handler = filemanager.FileManager(PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX) - +def get_private_url(key, bucket=BUCKET): # 判断文件是否存在 - _, resp = get_ufile_handler.head_file(BUCKET, key) + _, resp = UFILE_HANDLER.head_file(bucket, key) if resp.status_code != 200: logging.warning(f"uCloud中未找到({key})! status: {resp.status_code} error: {resp.error}") return None @@ -19,15 +19,13 @@ def get_private_url(key): # url = get_ufile_handler.public_download_url(bucket, key) # 获取私有空间下载url, expires为下载链接有效期,单位为秒 - url = get_ufile_handler.private_download_url(BUCKET, key, expires=3600) + url = UFILE_HANDLER.private_download_url(bucket, key, expires=PRIVATE_EXPIRES) return url def copy_file(source_bucket, source_key, target_bucket, target_key): - copy_ufile_handler = filemanager.FileManager(PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX) - # 拷贝文件 - ret, resp = copy_ufile_handler.copy(target_bucket, target_key, source_bucket, source_key) + ret, resp = UFILE_HANDLER.copy(target_bucket, target_key, source_bucket, source_key) if resp.status_code != 200: logging.warning( f"将({source_key})从({source_bucket})拷贝到({target_bucket})失败! status: {resp.status_code} error: {resp.error}") @@ -35,11 +33,9 @@ def copy_file(source_bucket, source_key, target_bucket, target_key): return True -def upload_file(key, file_path): - putufile_handler = filemanager.FileManager(PUBLIC_KEY, PRIVATE_KEY, UPLOAD_SUFFIX, DOWNLOAD_SUFFIX) - +def upload_file(key, file_path, bucket=BUCKET): # 普通上传文件至空间 - ret, resp = putufile_handler.putfile(BUCKET, key, file_path, header=None) + ret, resp = UFILE_HANDLER.putfile(bucket, key, file_path, header=None) if resp.status_code != 200: logging.warning(f"上传({key})失败! status: {resp.status_code} error: {resp.error}") return False