如何使用 CURL 将单个文件上传到 FastAPI 服务器
How to upload a single file to FastAPI server using CURL
我正在尝试设置一个 FastAPI 服务器,它可以使用 从命令行接收 单个文件上传 =]卷曲.
我在这里学习 FastAPI 教程:
https://fastapi.tiangolo.com/tutorial/request-files/?h=upload+file
from typing import List
from fastapi import FastAPI, File, UploadFile
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.post("/file/")
async def create_file(file: bytes = File(...)):
return {"file_size": len(file)}
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
return {"filename": file.filename}
@app.post("/files/")
async def create_files(files: List[bytes] = File(...)):
return {"file_sizes": [len(file) for file in files]}
@app.post("/uploadfiles/")
async def create_upload_files(files: List[UploadFile] = File(...)):
return {"filenames": [file.filename for file in files]}
运行 这段代码然后在浏览器中打开“http://127.0.0.1:5094”给我一个上传表单,有四种选择文件和上传的方式
我遵循了这个教程:
https://medium.com/@petehouston/upload-files-with-curl-93064dcccc76
我试过像这样在当前目录中上传文件“1.json”
curl -F "file=@1.json" http://127.0.0.1:5094/uploadfiles
在服务器端我得到这个结果
INFO: 127.0.0.1:58772 - "POST /uploadfiles HTTP/1.1" 307 Temporary Redirect
我不明白为什么会发生重定向。
我需要有关如何猜测正确的 curl 语法或在 FastAPI 端修复此问题的帮助。
解决方案是让 curl 跟随重定向。
curl -L -F "file=@1.json" http://127.0.0.1:5094/uploadfile
然后上传文件。
我正在尝试设置一个 FastAPI 服务器,它可以使用 从命令行接收 单个文件上传 =]卷曲.
我在这里学习 FastAPI 教程:
https://fastapi.tiangolo.com/tutorial/request-files/?h=upload+file
from typing import List
from fastapi import FastAPI, File, UploadFile
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.post("/file/")
async def create_file(file: bytes = File(...)):
return {"file_size": len(file)}
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
return {"filename": file.filename}
@app.post("/files/")
async def create_files(files: List[bytes] = File(...)):
return {"file_sizes": [len(file) for file in files]}
@app.post("/uploadfiles/")
async def create_upload_files(files: List[UploadFile] = File(...)):
return {"filenames": [file.filename for file in files]}
运行 这段代码然后在浏览器中打开“http://127.0.0.1:5094”给我一个上传表单,有四种选择文件和上传的方式
我遵循了这个教程: https://medium.com/@petehouston/upload-files-with-curl-93064dcccc76
我试过像这样在当前目录中上传文件“1.json”
curl -F "file=@1.json" http://127.0.0.1:5094/uploadfiles
在服务器端我得到这个结果
INFO: 127.0.0.1:58772 - "POST /uploadfiles HTTP/1.1" 307 Temporary Redirect
我不明白为什么会发生重定向。
我需要有关如何猜测正确的 curl 语法或在 FastAPI 端修复此问题的帮助。
解决方案是让 curl 跟随重定向。
curl -L -F "file=@1.json" http://127.0.0.1:5094/uploadfile
然后上传文件。