客户端上传文件到服务端并保存
使用fastapi的uploadfile,不管客户端上传的是何种格式的文件(图片/视频/音频等),都不需要解码操作。
内在原因:通过uploadfile.file.read()获取的虽然是bytes,但已经包含了全部的格式信息。所以将bytes直接写入文件进行保存,就会在文件系统中看到正常的image/video等文件了。如下图所示:
而且,即使保存成文件时,文件后缀与原文件不一致,也没有关系。如下图所示,客户端上传的文件为movie.mp4,在服务端保存成movie, movie.xys, movie.mp4都可以用视频软件播放。即使被保存为movie.doc,也可以用视频软件播放。
所以,上传文件的保存非常简单。如以下博客所示:
fastapi 使用UploadFile方法获取图片文件后存储在本地的方法
FastAPI 编写接收文件接口、requests 发送请求