from werkzeug.datastructures import FileStorage
from flask_demo.app.models.user import User,Role
from flask_demo.app import app,db
from flask import jsonify
import os
import json
import hashlib
import uuid
@app.route('/upload',methods=['POST'])
def upload_photo():
phone = request.headers.get('user')
upload_file:FileStorage = request.files.get('photo')
file_name = uuid.uuid4().hex + '_' + phone + '_' + os.path.splitext(upload_file.filename)[-1] #设置文件名字
print(file_name)
file_path = os.path.join('/pyqz/flask_demo/static/user',file_name) #添加文件保存的路径
user = User.query.filter(User.phone == phone)
print(user.first().photo)
#删除之前的用户头像
if user.first().photo: #如果存在之前的头像文件,删除之前的文件
os.remove('/pyqz/flask_demo/static/user/' + user.first().photo)
user.update({'photo':file_name}) #更细数据库
db.session.commit()
upload_file.save(file_path) #将图片保存
return jsonify({
'msg':'上传成功',
'path':file_name
})
Python Flask文件上传api
最新推荐文章于 2024-07-22 15:39:43 发布