修复 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)
|
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()
|
file_data = await file.read()
|
||||||
return await self.__upload_file_to_oss(path, file_data)
|
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)
|
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()
|
file_data = await file.read()
|
||||||
return await self.__upload_file_to_oss(path, file_data)
|
return await self.__upload_file_to_oss(path, file_data)
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ class AliyunOSS(FileBase):
|
|||||||
:param file: 文件对象
|
:param file: 文件对象
|
||||||
:return: 上传后的文件oss链接
|
:return: 上传后的文件oss链接
|
||||||
"""
|
"""
|
||||||
path = self.generate_static_file_path(path, file.filename)
|
path = self.generate_relative_path(path, file.filename)
|
||||||
file_data = await file.read()
|
file_data = await file.read()
|
||||||
return await self.__upload_file_to_oss(path, file_data)
|
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()))
|
return str(int((datetime.datetime.now().replace(hour=0, minute=0, second=0)).timestamp()))
|
||||||
|
|
||||||
@classmethod
|
@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 参数必须填写一个
|
1. filename 参数或者 suffix 参数必须填写一个
|
||||||
2. filename 参数和 suffix 参数都存在则优先取 suffix 参数为后缀
|
2. filename 参数和 suffix 参数都存在则优先取 suffix 参数为后缀
|
||||||
:param path: static 指定目录类别
|
:param path: static 指定目录类别
|
||||||
:param filename: 文件名称,只用户获取后缀,不做真实文件名称,避免文件重复问题
|
:param filename: 文件名称,只用户获取后缀,不做真实文件名称,避免文件重复问题
|
||||||
:param suffix: 文件后缀
|
:param suffix: 文件后缀
|
||||||
:return:
|
|
||||||
"""
|
"""
|
||||||
if not filename and not suffix:
|
if not filename and not suffix:
|
||||||
raise ValueError("filename 参数或者 suffix 参数必须填写一个")
|
raise ValueError("filename 参数或者 suffix 参数必须填写一个")
|
||||||
@ -64,7 +63,20 @@ class FileBase:
|
|||||||
if path[-1] == "/":
|
if path[-1] == "/":
|
||||||
path = path[:-1]
|
path = path[:-1]
|
||||||
today = datetime.datetime.strftime(datetime.datetime.now(), "%Y%m%d")
|
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
|
@classmethod
|
||||||
def generate_temp_file_path(cls, filename: str = None, suffix: str = None) -> str:
|
def generate_temp_file_path(cls, filename: str = None, suffix: str = None) -> str:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user