This commit is contained in:
jxxghp 2024-06-23 18:48:13 +08:00
parent 85e5338121
commit e896068bc5
2 changed files with 12 additions and 11 deletions

View File

@ -73,7 +73,7 @@ def list_aliyun(fileitem: schemas.FileItem,
if sort == "time":
sort = "updated_at"
if fileitem.type == "file":
fileitem = AliyunHelper().detail(fileitem.fileid, path=path)
fileitem = AliyunHelper().detail(drive_id=fileitem.drive_id, file_id=fileitem.fileid, path=path)
if fileitem:
return [fileitem]
return []
@ -115,13 +115,14 @@ def delete_aliyun(fileitem: schemas.FileItem,
@router.get("/download", summary="下载文件(阿里云盘)")
def download_aliyun(fileid: str,
drive_id: str = None,
_: schemas.TokenPayload = Depends(verify_uri_token)) -> Any:
"""
下载文件或目录
"""
if not fileid:
return schemas.Response(success=False)
url = AliyunHelper().download(fileid)
url = AliyunHelper().download(drive_id=drive_id, file_id=fileid)
if url:
# 重定向
return Response(status_code=302, headers={"Location": url})
@ -138,7 +139,7 @@ def rename_aliyun(fileitem: schemas.FileItem,
"""
if not fileitem.fileid or not new_name:
return schemas.Response(success=False)
result = AliyunHelper().rename(fileitem.fileid, new_name)
result = AliyunHelper().rename(drive_id=fileitem.drive_id, file_id=fileitem.fileid, name=new_name)
if result:
if recursive:
transferchain = TransferChain()
@ -184,13 +185,13 @@ def rename_aliyun(fileitem: schemas.FileItem,
@router.get("/image", summary="读取图片(阿里云盘)", response_model=schemas.Response)
def image_aliyun(fileid: str, _: schemas.TokenPayload = Depends(verify_uri_token)) -> Any:
def image_aliyun(fileid: str, drive_id: str = None, _: schemas.TokenPayload = Depends(verify_uri_token)) -> Any:
"""
读取图片
"""
if not fileid:
return schemas.Response(success=False)
url = AliyunHelper().download(fileid)
url = AliyunHelper().download(drive_id=drive_id, file_id=fileid)
if url:
# 重定向
return Response(status_code=302, headers={"Location": url})

View File

@ -456,7 +456,7 @@ class AliyunHelper:
self.__handle_error(res, "删除文件")
return False
def detail(self, file_id: str, path: str = "/") -> Optional[schemas.FileItem]:
def detail(self, drive_id: str, file_id: str, path: str = "/") -> Optional[schemas.FileItem]:
"""
获取文件详情
"""
@ -465,7 +465,7 @@ class AliyunHelper:
return None
headers = self.__get_headers(params)
res = RequestUtils(headers=headers, timeout=10).post_res(self.file_detail_url, json={
"drive_id": params.get("resourceDriveId"),
"drive_id": drive_id,
"file_id": file_id
})
if res:
@ -486,7 +486,7 @@ class AliyunHelper:
self.__handle_error(res, "获取文件详情")
return None
def rename(self, file_id: str, name: str) -> bool:
def rename(self, drive_id: str, file_id: str, name: str) -> bool:
"""
重命名文件
"""
@ -495,7 +495,7 @@ class AliyunHelper:
return False
headers = self.__get_headers(params)
res = RequestUtils(headers=headers, timeout=10).post_res(self.rename_file_url, json={
"drive_id": params.get("resourceDriveId"),
"drive_id": drive_id,
"file_id": file_id,
"name": name,
"check_name_mode": "refuse"
@ -506,7 +506,7 @@ class AliyunHelper:
self.__handle_error(res, "重命名文件")
return False
def download(self, file_id: str) -> Optional[str]:
def download(self, drive_id: str, file_id: str) -> Optional[str]:
"""
获取下载链接
"""
@ -515,7 +515,7 @@ class AliyunHelper:
return None
headers = self.__get_headers(params)
res = RequestUtils(headers=headers, timeout=10).post_res(self.download_url, json={
"drive_id": params.get("resourceDriveId"),
"drive_id": drive_id,
"file_id": file_id
})
if res: