我正在使用SQLGQUALY-file包FilField将文件保存在本地存储中,它正在保存,但不允许给出自定义文件名,自动将文件保存为未命名.我需要解决这个问题.
我正在研究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
}
因此,当我try 下载它给我的未命名文件时,我想用名称保存它.