------- (2)-------
try:
#닉네임input 기본값은 현재 닉네임
nick_receive = request.form['nick_give'] # input 닉네임
file = request.files['file_give'] #upload 파일
token_receive = request.cookies.get('token_name')
payload = jwt.decode(token_receive, SECRET_KEY, ///)
user = db.user.find_one({'id': payload['id']})
user_id = user['id']
#토큰에저장된 유저정보로 유저 id를 받아온다
extension = file.filename.split('.')[-1]
today = datetime.now()
mytime = today.strftime('%Y-%m-%d-%H-%M-%S')
filename = f'{user_id}-{mytime}'
profile = db.pic.find_one({'id': user_id})
#현재 프로필 사진이 있는경우에만 기존프로필 사진 삭제
if profile != None :
profile_pic = profile['img']
os.remove( f'instagram/static/images/profile_images/{profile_pic}' )
db.pic.delete_one({ 'id': user_id })
# 파일 저장 경로 설정 (파일은 db가 아니라, 서버 컴퓨터 자체에 저장됨)
save_to = f'instagram/static/images/profile_images/{filename}.{extension}'
# 파일 저장!
file.save(save_to)
doc = {'id': user_id, 'img':f'{filename}.{extension}'}
db.pic.insert_one(doc)
#닉네임값을 빈값으로 설정했을때를 제외하는 처리.
if nick_receive != '' :
db.user.update_one({'id': user_id },{'$set':{'nick': nick_receive }})
return jsonify({'result':'success'})
# 파일을 바꾸고싶지 않을때 닉네임만 바꾸는 예외처리
except:
nick_receive = request.form['nick_give'] # input 닉네임
token_receive = request.cookies.get('mytoken')
payload = jwt.decode(token_receive, SECRET_KEY, algorithms='HS256')
user = db.user.find_one({'id': payload['id']})
user_id = user['id']
if nick_receive != '' :
db.user.update_one({'id': user_id },{'$set':{'nick': nick_receive }})
return jsonify({'result':'success'})