1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import io
- import time
- import uuid
- from fastapi import APIRouter
- from fastapi import File, UploadFile
- from fastapi.responses import StreamingResponse
- from utils.sx_time import sxtimeit
- from utils.sx_web import web_try
- from app.common.minio import FileHandler
- from app import get_db
- router = APIRouter(
- prefix="/jpt/files",
- tags=["files-文件管理"],
- )
- @router.post("/data_management/")
- @web_try()
- @sxtimeit
- def put_file( file: UploadFile = File(...),):
- print("UploadFile-->",file.filename)
- file_handler = FileHandler("datax")
- file_name = str(uuid.uuid1())
- url = file_handler.put_byte_file("data_management/"+file_name, file.file.read())
- return url
- @router.get("/")
- @sxtimeit
- def get_file( uri: str):
- file_handler = FileHandler("datax")
- file = file_handler.get_file(uri)
- code = 200
- if len(file) == 0:
- code = 404
- response = StreamingResponse(io.BytesIO(file), status_code=code, media_type="application/octet-stream")
- # 在请求头进行配置
- response.headers["Content-Disposition"] = "attachment; filename="+uri+".table"
- return response
- @router.get("/java/")
- @sxtimeit
- def get_file( uri: str):
- file_handler = FileHandler("datax")
- file = file_handler.get_file(uri)
- code = 200
- if len(file) == 0:
- code = 404
- response = StreamingResponse(io.BytesIO(file), status_code=code, media_type="application/octet-stream")
- # 在请求头进行配置
- response.headers["Content-Disposition"] = "attachment; filename="+uri
- return response
- @router.post("/java/")
- @web_try()
- @sxtimeit
- def put_java_jar( file: UploadFile = File(...),):
- print("UploadFile-->",file.filename)
- file_handler = FileHandler("datax")
- file_name = str(int(time.time()))+'_'+file.filename
- url = file_handler.put_byte_file("java/"+file_name, file.file.read())
- return url
- @router.post("/jm_job_log/")
- @web_try()
- @sxtimeit
- def put_file( file: UploadFile = File(...),):
- print("UploadFile-->",file.filename)
- file_handler = FileHandler("datax")
- file_name = str(uuid.uuid1())
- url = file_handler.put_byte_file("jm_job_log/"+file_name, file.file.read())
- return url
- @router.get("/jm_job_log/")
- @sxtimeit
- def get_file( uri: str):
- file_handler = FileHandler("datax")
- file = file_handler.get_file(uri)
- code = 200
- if len(file) == 0:
- code = 404
- response = StreamingResponse(io.BytesIO(file), status_code=code, media_type="application/octet-stream")
- # 在请求头进行配置
- response.headers["Content-Disposition"] = "attachment; filename="+uri+".log"
- return response
|