Tengo un punto final que permite a los usuarios cargar archivos. Me gustaría cambiar el nombre del archivo a un nombre de archivo único y aleatorio, pero no sé cómo cambiar el nombre del archivo. Mi código actual es el siguiente, que está guardando el archivo en archivos/nombre de archivo
@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}'"}¿Puedes generar una ubicación de archivo personalizada en lugar de usar files.filename ? Es posible que deba averiguar cuál era la extensión files.filename y pasarla al nuevo file_name que está creando.
@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}'"}