修改一些功能
This commit is contained in:
56
core/SolarNetworkDrive.py
Normal file
56
core/SolarNetworkDrive.py
Normal file
@@ -0,0 +1,56 @@
|
||||
###官方的文件分享池API
|
||||
###By Liang-work(NRFF&nanci)
|
||||
###Version 1.0
|
||||
###License: BSD
|
||||
|
||||
DOMAIN = 'https://api.solian.app'
|
||||
import base64
|
||||
import os
|
||||
from tusclient import client
|
||||
import requests
|
||||
import traceback
|
||||
|
||||
def DownloadFileFromServer(ID:str,SavePath:str='../temp/') -> bytes:
|
||||
"""
|
||||
从服务器下载文件
|
||||
:param ID: 文件ID
|
||||
:param SavePath: 本地保存路径
|
||||
:return:
|
||||
"""
|
||||
response = requests.get(f"{DOMAIN}/drive/files/{ID}")
|
||||
if response.status_code == 200:
|
||||
with open(SavePath, "wb") as f:
|
||||
f.write(response.content)
|
||||
return response.status_code
|
||||
else:
|
||||
return response.status_code
|
||||
|
||||
|
||||
def UploadFileToServer(token:str,file_path,file_type,pool=1,chunk_size=1024*1024*10):
|
||||
"""
|
||||
使用tuspy上传文件
|
||||
:param file_path: 文件路径
|
||||
:param file_type: 文件类型 accept_types: ["image/*", "video/*", "audio/*"]
|
||||
:param pool: 存储池(默认:Solar Network Shared)
|
||||
:param chunk_size: 分块大小
|
||||
:return: 文件id
|
||||
"""
|
||||
from tusclient import client
|
||||
pools = [
|
||||
"07bc8e33-f3aa-4e35-83c2-c63b2b67d8cd", # 雨云存储 中国
|
||||
"c53136a6-9152-4ecb-9f88-43c41438c23e", # Solar Network Shared
|
||||
"500e5ed8-bd44-4359-bc0a-ec85e2adf447", # Solar Network Driver
|
||||
]
|
||||
headers = {
|
||||
"Authorization": f"Bearer {token}",
|
||||
"X-FilePool": pools[pool]
|
||||
}
|
||||
tus = client.TusClient('https://api.solian.app/drive/tus')
|
||||
tus.set_headers(headers)
|
||||
file = tus.uploader(file_path, chunk_size=chunk_size)
|
||||
file.metadata = {
|
||||
"content-type": file_type,
|
||||
"filename": os.path.basename(file_path)
|
||||
}
|
||||
file.upload()
|
||||
return file.url.split("/")[-1]
|
Reference in New Issue
Block a user