如何使用fastapi重命名上传的文件
How to rename uploaded file with fastapi
我有一个允许用户上传文件的端点。我想将文件重命名为随机且唯一的文件名,但不知道如何更改文件名。我当前的代码如下,它将文件保存到 files/filename
@router.post('/qualifications/file')
async def create_file(files: UploadFile = File(...)):
file_location = f"files/{files.filename}"
with open(file_location, "wb+") as file_object:
file_object.write(files.file.read())
return {"info": f"file '{files.filename}' saved at '{file_location}'"}
您可以生成自定义文件位置而不是使用 files.filename
吗?您可能需要弄清楚 files.filename
扩展是什么,然后将其传递到您正在创建的新 file_name 中。
@router.post('/qualifications/file')
async def create_file(files: UploadFile = File(...)):\
file_name = "some_random_name.txt"
file_location = f"files/{file_name}"
with open(file_location, "wb+") as file_object:
file_object.write(files.file.read())
return {"info": f"file '{file_name}' saved at '{file_location}'"}
我有一个允许用户上传文件的端点。我想将文件重命名为随机且唯一的文件名,但不知道如何更改文件名。我当前的代码如下,它将文件保存到 files/filename
@router.post('/qualifications/file')
async def create_file(files: UploadFile = File(...)):
file_location = f"files/{files.filename}"
with open(file_location, "wb+") as file_object:
file_object.write(files.file.read())
return {"info": f"file '{files.filename}' saved at '{file_location}'"}
您可以生成自定义文件位置而不是使用 files.filename
吗?您可能需要弄清楚 files.filename
扩展是什么,然后将其传递到您正在创建的新 file_name 中。
@router.post('/qualifications/file')
async def create_file(files: UploadFile = File(...)):\
file_name = "some_random_name.txt"
file_location = f"files/{file_name}"
with open(file_location, "wb+") as file_object:
file_object.write(files.file.read())
return {"info": f"file '{file_name}' saved at '{file_location}'"}