修复 oss 文件上传路径错误问题
This commit is contained in:
parent
1e7dbec10b
commit
149812914e
@ -58,7 +58,7 @@ class AliyunOSS(FileBase):
|
||||
# 验证图片类型
|
||||
await self.validate_file(file, max_size, self.IMAGE_ACCEPT)
|
||||
# 生成文件路径
|
||||
path = self.generate_static_file_path(path, file.filename)
|
||||
path = self.generate_relative_path(path, file.filename)
|
||||
file_data = await file.read()
|
||||
return await self.__upload_file_to_oss(path, file_data)
|
||||
|
||||
@ -74,7 +74,7 @@ class AliyunOSS(FileBase):
|
||||
# 验证图片类型
|
||||
await self.validate_file(file, max_size, self.VIDEO_ACCEPT)
|
||||
# 生成文件路径
|
||||
path = self.generate_static_file_path(path, file.filename)
|
||||
path = self.generate_relative_path(path, file.filename)
|
||||
file_data = await file.read()
|
||||
return await self.__upload_file_to_oss(path, file_data)
|
||||
|
||||
@ -86,7 +86,7 @@ class AliyunOSS(FileBase):
|
||||
:param file: 文件对象
|
||||
:return: 上传后的文件oss链接
|
||||
"""
|
||||
path = self.generate_static_file_path(path, file.filename)
|
||||
path = self.generate_relative_path(path, file.filename)
|
||||
file_data = await file.read()
|
||||
return await self.__upload_file_to_oss(path, file_data)
|
||||
|
||||
|
@ -44,15 +44,14 @@ class FileBase:
|
||||
return str(int((datetime.datetime.now().replace(hour=0, minute=0, second=0)).timestamp()))
|
||||
|
||||
@classmethod
|
||||
def generate_static_file_path(cls, path: str, filename: str = None, suffix: str = None) -> str:
|
||||
def generate_relative_path(cls, path: str, filename: str = None, suffix: str = None) -> str:
|
||||
"""
|
||||
生成 static 静态文件路径,生成规则:自定义目录/当天日期时间戳/随机文件名称
|
||||
生成相对路径,生成规则:自定义目录/当天日期时间戳/随机文件名称
|
||||
1. filename 参数或者 suffix 参数必须填写一个
|
||||
2. filename 参数和 suffix 参数都存在则优先取 suffix 参数为后缀
|
||||
:param path: static 指定目录类别
|
||||
:param filename: 文件名称,只用户获取后缀,不做真实文件名称,避免文件重复问题
|
||||
:param suffix: 文件后缀
|
||||
:return:
|
||||
"""
|
||||
if not filename and not suffix:
|
||||
raise ValueError("filename 参数或者 suffix 参数必须填写一个")
|
||||
@ -64,7 +63,20 @@ class FileBase:
|
||||
if path[-1] == "/":
|
||||
path = path[:-1]
|
||||
today = datetime.datetime.strftime(datetime.datetime.now(), "%Y%m%d")
|
||||
return f"{STATIC_ROOT}/{path}/{today}/{cls.get_random_filename(suffix)}"
|
||||
return f"{path}/{today}/{cls.get_random_filename(suffix)}"
|
||||
|
||||
@classmethod
|
||||
def generate_static_file_path(cls, path: str, filename: str = None, suffix: str = None) -> str:
|
||||
"""
|
||||
生成 static 静态文件路径,生成规则:自定义目录/当天日期时间戳/随机文件名称
|
||||
1. filename 参数或者 suffix 参数必须填写一个
|
||||
2. filename 参数和 suffix 参数都存在则优先取 suffix 参数为后缀
|
||||
:param path: static 指定目录类别
|
||||
:param filename: 文件名称,只用户获取后缀,不做真实文件名称,避免文件重复问题
|
||||
:param suffix: 文件后缀
|
||||
:return:
|
||||
"""
|
||||
return f"{STATIC_ROOT}/{cls.generate_relative_path(path, filename, suffix)}"
|
||||
|
||||
@classmethod
|
||||
def generate_temp_file_path(cls, filename: str = None, suffix: str = None) -> str:
|
||||
|
Loading…
x
Reference in New Issue
Block a user