一个简单的网络共享下载网盘(需python3.6.1及以上)

偶尔善良 提交于 2020-02-21 13:00:37

环境安装: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路径就无法下载文件了。
如果想要更加安全,那你可以进行数据库对应编号名字进行下载。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!