class FileResponse(Response): chunk_size = 4096 def __init__( self, path: typing.Union[str, "os.PathLike[str]"], status_code: int = 200, headers: dict = None, media_type: str = None, background: BackgroundTask = None, filename: str = None, stat_result: os.stat_result = None...
FileResponse¶ 异步传输文件作为响应。 与其他响应类型相比,接受不同的参数集进行实例化: path- 要流式传输的文件的文件路径。 headers- 任何自定义响应头,传入字典类型。 media_type- 给出媒体类型的字符串。如果未设置,则文件名或路径将用于推断媒体类型。
fromfastapiimportFastAPIfromfastapi.responsesimportStreamingResponse some_file_path="large-video-file.mp4"app=FastAPI()@app.get("/")defmain():file_like=open(some_file_path,mode="rb")returnStreamingResponse(file_like,media_type="video/mp4") 7.FileResponse 异步流式输出一个文件 不同于其他response...
from fastapi import FastAPI from fastapi.responses import StreamingResponse app = FastAPI() class MyCustomResponse(StreamingResponse): media_type = "image/jpeg" # 将文件类型写在这里 @app.get("/img", response_class=MyCustomResponse) # 指定 MyCustomResponse def image(): def iterfile(): with o...
使用FileResponse返回图片文件,例如 PNG 或 JPG 格式。 fromfastapiimportFastAPIfromfastapi.responsesimportFileResponse app=FastAPI() @app.get("/image", response_class=FileResponse)defget_image(): image_path="/path/to/your/image.png"returnFileResponse(image_path, media_type='image/png', filename=...
return response 通过Response 我们可以实现请求头、状态码、cookie 的自定义。另外除了 Response 之外还有很多其它类型的响应,比如: FileResponse:用于返回文件; HTMLResponse:用于返回 HTML; PlainTextResponse:用于返回纯文本; JSONResponse:用于返回 JSON;
return FileResponse(file_path, media_type='application/octet-stream', filename="file.zip") 8.流式响应(Streaming Response) 使用StreamingResponse返回流式数据,如大文件或音频、视频等。 from fastapi import FastAPI from fastapi.responses import StreamingResponse ...
在上述代码中,get_image函数用于处理GET请求,并返回一个图像文件。FileResponse用于将文件作为响应返回给客户端,media_type参数指定了图像文件的媒体类型。 运行FastAPI应用: 代码语言:txt 复制 if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000) 以上代码将在本地的8000端口上运行...
在上面的StreamingResponse示例中,我们已经通过media_type参数指定了文件的MIME类型。对于FileResponse,FastAPI通常会根据文件扩展名自动推断媒体类型,但您也可以通过headers参数手动设置。 5. (可选)设置文件名以供客户端下载 在FileResponse的示例中,我们已经通过filename参数设置了客户端下载时看到的文件名。对于Streaming...
在上述代码中,get_image_and_json函数使用FileResponse返回图像文件,并使用JSONResponse返回JSON数据。media_type参数用于指定图像文件的媒体类型。 运行FastAPI应用程序: 代码语言:txt 复制 if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000) ...