This commit is contained in:
wuaho 2021-06-02 13:46:12 +08:00
parent 491b0fb07f
commit a1c4b8cb0d
3 changed files with 73 additions and 7 deletions

View File

@ -3,7 +3,7 @@ import json
import os import os
import time import time
from fastapi import APIRouter, File, BackgroundTasks from fastapi import APIRouter, File, BackgroundTasks, UploadFile
import schemas import schemas
from core.config import settings from core.config import settings
@ -30,20 +30,82 @@ router = APIRouter()
# return resp # return resp
@router.post("/keystore") # @router.post("/keystore")
async def keystore( # async def keystore(
file: bytes = File(...) # file: bytes = File(...)
# ) -> schemas.Msg:
# file_path = os.path.join(settings.ROOT_DIR, 'ApkTool/keystore/legu.keystore')
# with open(file_path, 'wb') as f:
# f.write(file)
#
# resp = schemas.Msg(
# code=0,
# msg='ok',
# data=file_path
# )
#
# return resp
#
#
# @router.post("/mother_bag")
# async def mother_bag(
# file: UploadFile = File(...)
# ) -> schemas.Msg:
# file_path = os.path.join(settings.ROOT_DIR, f'ApkTool/{file.filename}')
# with open(file_path, 'wb') as f:
# for i in iter(lambda: file.file.read(1024 * 1024 * 10), b''):
# f.write(i)
#
# resp = schemas.Msg(
# code=0,
# msg='ok',
# data=file_path
# )
# return resp
@router.post("/upload_file")
async def upload_file(
file_type: str,
file: UploadFile = File(...)
) -> schemas.Msg: ) -> schemas.Msg:
file_path = os.path.join(settings.ROOT_DIR, 'ApkTool/keystore/legu.keystore') if file_type == 'mother_bag':
file_path = os.path.join(settings.ROOT_DIR, f'ApkTool/{file.filename}')
elif file_type == 'keystore':
file_path = os.path.join(settings.ROOT_DIR, f'ApkTool/keystore/{file.filename}')
else:
resp = schemas.Msg(
code=-1,
msg='文件类型错误',
data=file_type
)
return resp
with open(file_path, 'wb') as f: with open(file_path, 'wb') as f:
f.write(file) for i in iter(lambda: file.file.read(1024 * 1024 * 10), b''):
f.write(i)
resp = schemas.Msg( resp = schemas.Msg(
code=0, code=0,
msg='ok', msg='ok',
data=file_path data=file_path
) )
return resp
@router.post("/delete_file")
async def delete_file(
data_in: schemas.DeleteFile,
) -> schemas.Msg:
file_path = data_in.file_path
if 'ApkTool' in file_path and os.path.exists(path=file_path):
os.remove(file_path)
resp = schemas.Msg(
code=0,
msg='ok',
data=file_path
)
return resp return resp

View File

@ -1,3 +1,3 @@
# coding:utf-8 # coding:utf-8
from .channel import BaleCreate from .channel import *
from .msg import Msg from .msg import Msg

View File

@ -6,3 +6,7 @@ class BaleCreate(BaseModel):
channel: dict channel: dict
dir: str dir: str
id: int id: int
class DeleteFile(BaseModel):
file_path: str