Я работаю над проектом FastAPI и использую файловую переменную, как показано ниже, для сохранения файлов
Код: Выделить всё
class UserDoc(Base):
__tablename__ = "user_doc"
id = Column(Integer, primary_key=True)
file = Column(FileField)
Код: Выделить всё
@router.post(
"doc_upload"
)
async def document_upload(
user_file: UploadFile = File(...),
db: Session = Depends(deps.get_db),
current_user: dict = Depends(get_current_user_via_jwt),
):
try:
# code logic
file_contents = await user_file.read()
document_data = {"file": file_contents}
db_document = UserDocument(**document_data)
db.add(db_document)
db.commit()
db.refresh(db_document)
except Exception as _:
# exception logic
Код: Выделить всё
{
"content_path":null,
"filename":"unnamed",
"content_type":"application/octet-stream",
"size":267226,
"files":[
"upload_folder/121e7cbf-f19c-4538-8fcf-2f323f31e53e"
],
"file_id":"121e7cbf-f19c-4538-8fcf-2f323f31e53e",
"upload_storage":"upload_folder",
"uploaded_at":"2024-04-19T05:21:35.429745",
"path":"upload_folder/121e7cbf-f19c-4538-8fcf-2f323f31e53e",
"url":"/base_path/upload_folder/121e7cbf-f19c-4538-8fcf-2f323f31e53e",
"saved":true
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... name-autom