环境安装:python3.6.1及以上
1. pip install uvicorn
2. pip install fastapi
3. pip install aiofiles
如果觉得这样安装太慢,那就选择国内源安装吧! 我这展示一个豆瓣源安装:pip install uvicorn -i https://pypi.douban.com/simple
接下来就编写代码吧:
我们在Download.py:
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# @Time : 2020/2/21 上午 10:09
# @Author : lh
# @Email : xx@lh.com
# @File : Download.py
# @Software: PyCharm
import os
from fastapi import FastAPI
from starlette.responses import FileResponse
app = FastAPI()
@app.get('/file/{filename}/')
def get_file(filename: str):
path = os.path.join('D:\file', filename)
if not os.path.exists(path):
return {'success': False, 'msg': '404 NOT FONT!'}
response = FileResponse(path)
return response
由于上面是在D盘中的file文件夹中存放待下载文件。所以我们需要在里面存放文件。
打开cmd命令行使用 :uviconrn Download:app --host 0.0.0.0 --port 8888 运行起来。
浏览器打开输入:**http://127.0.0.1:8888/file/1.doc/**即可进行下载。因为我在file中放了一个空白的1.doc文件夹,
如果别人电脑想要进行下载就要输入:**http://你的IP:8888/file/1.doc/**即可。
这个文件系统的好处是别人如果不知道你的文件名字和你的ulr路径就无法下载文件了。
如果想要更加安全,那你可以进行数据库对应编号名字进行下载。