taibai_shopping/config/cos_config.py
2025-07-04 19:07:35 +08:00

100 lines
2.7 KiB
Python

"""
腾讯云COS配置
"""
import os
class COSConfig:
"""COS配置类"""
# 腾讯云密钥信息
SECRET_ID = 'AKIDWu3xbz7zbw1qpeDWZLs99tMYUAZiaBVZ'
SECRET_KEY = 'qQjlX2GEvMWQ3PUIq77qIUP3RZQ0KBtL'
# 存储桶信息
BUCKET_NAME = 'taibai-1328510989'
REGION = 'ap-guangzhou'
# 存储桶域名
BUCKET_DOMAIN = f'{BUCKET_NAME}.cos.{REGION}.myqcloud.com'
# 文件存储路径配置
UPLOAD_FOLDERS = {
'avatar': 'uploads/avatars/', # 用户头像
'product': 'uploads/products/', # 商品图片
'review': 'uploads/reviews/', # 评价图片
'temp': 'uploads/temp/', # 临时文件
}
# 允许上传的文件类型
ALLOWED_IMAGE_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'webp'}
ALLOWED_FILE_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'webp', 'pdf', 'doc', 'docx'}
# 文件大小限制 (字节)
MAX_FILE_SIZE = 5 * 1024 * 1024 # 5MB
MAX_IMAGE_SIZE = 2 * 1024 * 1024 # 2MB
# 图片处理配置
IMAGE_QUALITY = 85 # 压缩质量
THUMBNAIL_SIZE = (200, 200) # 缩略图尺寸
@classmethod
def get_full_url(cls, file_path):
"""获取文件完整访问URL"""
if not file_path:
return None
if file_path.startswith('http'):
return file_path
return f'https://{cls.BUCKET_DOMAIN}/{file_path}'
"""
腾讯云COS配置
"""
import os
class COSConfig:
"""COS配置类"""
# 腾讯云密钥信息
SECRET_ID = 'AKIDWu3xbz7zbw1qpeDWZLs99tMYUAZiaBVZ'
SECRET_KEY = 'qQjlX2GEvMWQ3PUIq77qIUP3RZQ0KBtL'
# 存储桶信息
BUCKET_NAME = 'taibai-1328510989'
REGION = 'ap-guangzhou'
# 存储桶域名
BUCKET_DOMAIN = f'{BUCKET_NAME}.cos.{REGION}.myqcloud.com'
# 文件存储路径配置
UPLOAD_FOLDERS = {
'avatar': 'uploads/avatars/', # 用户头像
'product': 'uploads/products/', # 商品图片
'category': 'uploads/categories/', # 分类图标
'review': 'uploads/reviews/', # 评价图片
'temp': 'uploads/temp/', # 临时文件
}
# 允许上传的文件类型
ALLOWED_IMAGE_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'webp'}
ALLOWED_FILE_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'webp', 'pdf', 'doc', 'docx'}
# 文件大小限制 (字节)
MAX_FILE_SIZE = 5 * 1024 * 1024 # 5MB
MAX_IMAGE_SIZE = 2 * 1024 * 1024 # 2MB
# 图片处理配置
IMAGE_QUALITY = 85 # 压缩质量
THUMBNAIL_SIZE = (200, 200) # 缩略图尺寸
@classmethod
def get_full_url(cls, file_path):
"""获取文件完整访问URL"""
if not file_path:
return None
if file_path.startswith('http'):
return file_path
return f'https://{cls.BUCKET_DOMAIN}/{file_path}'