我正在浏览此文件,是否看到了在API中上传的功能?https://fastapi.tiangolo.com/tutorial/request-files/没有dl选项。我是否缺少某些东西?我希望为文件下载站点创建一个api。我应该使用其他API吗?
from typing import List
from fastapi import FastAPI, Query
app = FastAPI()
PATH "some/path"
@app.get("/shows/")
def get_items(q: List[str] = Query(None)):
'''
Pass path to function.
Returns folders and files.
'''
results = {}
query_items = {"q": q}
entry = PATH + "/".join(query_items["q"]) + "/"
dirs = os.listdir(entry)
results["folders"] = [val for val in dirs if os.path.isdir(entry+val)]
results["files"] = [val for val in dirs if os.path.isfile(entry+val)]
results["path_vars"] = query_items["q"]
return results
这是python获取路径的文件和目录的代码示例,您可以将路径作为列表返回,并在循环中添加新条目,以更深入地了解文件树。传递文件名应该触发下载功能,但是我似乎无法获得下载功能。
这对我有用
from starlette.responses import FileResponse
return FileResponse(file_location, media_type='application/octet-stream',filename=file_name)
这将下载带有文件名的文件
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句