fastpdf.py 771 B

12345678910111213141516171819202122232425
  1. from fastapi import FastAPI, HTTPException
  2. from fastapi.staticfiles import StaticFiles
  3. from fastapi.responses import FileResponse
  4. import os
  5. app = FastAPI()
  6. # 挂载 uploads 目录作为静态文件目录
  7. upload_dir = "uploads"
  8. if not os.path.exists(upload_dir):
  9. os.makedirs(upload_dir)
  10. app.mount("/uploads", StaticFiles(directory=upload_dir), name="uploads")
  11. # 提供文件下载接口
  12. @app.get("/download/{filename}")
  13. async def download_file(filename: str):
  14. file_path = os.path.join(upload_dir, filename)
  15. if os.path.exists(file_path):
  16. return FileResponse(file_path, filename=filename)
  17. raise HTTPException(status_code=404, detail="File not found")
  18. if __name__ == "__main__":
  19. import uvicorn
  20. uvicorn.run(app, host="0.0.0.0", port=8007)