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

View File

@ -456,7 +456,7 @@ class AliyunHelper:
self.__handle_error(res, "删除文件") self.__handle_error(res, "删除文件")
return False 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 return None
headers = self.__get_headers(params) headers = self.__get_headers(params)
res = RequestUtils(headers=headers, timeout=10).post_res(self.file_detail_url, json={ 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 "file_id": file_id
}) })
if res: if res:
@ -486,7 +486,7 @@ class AliyunHelper:
self.__handle_error(res, "获取文件详情") self.__handle_error(res, "获取文件详情")
return None 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 return False
headers = self.__get_headers(params) headers = self.__get_headers(params)
res = RequestUtils(headers=headers, timeout=10).post_res(self.rename_file_url, json={ 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, "file_id": file_id,
"name": name, "name": name,
"check_name_mode": "refuse" "check_name_mode": "refuse"
@ -506,7 +506,7 @@ class AliyunHelper:
self.__handle_error(res, "重命名文件") self.__handle_error(res, "重命名文件")
return False 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 return None
headers = self.__get_headers(params) headers = self.__get_headers(params)
res = RequestUtils(headers=headers, timeout=10).post_res(self.download_url, json={ 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 "file_id": file_id
}) })
if res: if res: