def set_user_avatar(): file = request.files.get('avatar') if not file: return jsonify(errno=RET.PARAMERR, errmsg='缺少参数') try: key = image_storage(file.read()) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg='上传图像失败') # user_id = session.get('user_id') user_id = g.user_id try: user = User.query.get(user_id) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='查询用户失败') if not user: return jsonify(errno=RET.USERERR, errmsg='用户不存在') user.avatar_url = key try: db.session.commit() except Exception as e: db.session.rollback() current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='保存图像记录失败') avatar_url = constants.QINIU_DOMIN_PREFIX + key return jsonify(errno=RET.OK, errmsg='上传头像成功', data={'avatar_url': avatar_url})
def save_house_image(): """ 上传房屋的图片: 1. 接收房屋的id 和 房屋图片文件 并进行参数校验 2. 上传房屋的图片到七牛云 3. 创建HouseImage对象并保存房屋图片信息 4. 添加房屋图片信息到数据库 5. 返回应答 """ # 1. 接收房屋的id 和 房屋图片文件 并进行参数校验 house_id = request.form.get('house_id') if not house_id: return jsonify(errno=RET.PARAMERR, errmsg='缺少参数') file = request.files.get('house_image') if not file: return jsonify(errno=RET.PARAMERR, errmsg='缺少参数') try: house = House.query.get(house_id) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='查询房屋信息失败') if not house: return jsonify(errno=RET.NODATA, errmsg='房屋不存在') # 2. 上传房屋的图片到七牛云 try: key = image_storage(file.read()) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg='上传房屋图片失败') # 3. 创建HouseImage对象并保存房屋图片信息 house_image = HouseImage() house_image.house_id = house_id house_image.url = key # 判断当前房屋是否有默认的图片,如果没有,进行添加 if not house.index_image_url: house.index_image_url = key # 4. 添加房屋图片信息到数据库 try: db.session.add(house_image) db.session.commit() except Exception as e: db.session.rollback() current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='保存房屋图片信息失败') # 5. 返回应答 img_url = constants.QINIU_DOMIN_PREFIX + key return jsonify(errno=RET.OK, errmsg='OK', data={'img_url': img_url})
def set_user_avatar(): """ 保存上传用户的头像: 0. 判断用户是否登录 1. 获取上传头像文件 2. 上传头像文件到七牛云系统 3. 设置用户的头像记录 4. 返回应答,上传头像成功 """ # 1. 获取上传头像文件 file = request.files.get('avatar') if not file: return jsonify(errno=RET.PARAMERR, errmsg='缺少参数') # 2. 上传头像文件到七牛云系统 try: key = image_storage(file.read()) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg='上传头像失败') # 3. 设置用户的头像记录 # user_id = session.get('user_id') user_id = g.user_id try: user = User.query.get(user_id) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='查询用户信息失败') if not user: return jsonify(errno=RET.USERERR, errmsg='用户不存在') user.avatar_url = key try: db.session.commit() except Exception as e: db.session.rollback() current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='保存头像记录失败') # 4. 返回应答,上传头像成功 avatar_url = constants.QINIU_DOMIN_PREFIX + key return jsonify(errno=RET.OK, errmsg='上传头像成功', data={'avatar_url': avatar_url})
def set_user_avatar(): """ 上传头像到七牛云 1、获取上传图片文件 2、上传图片到七牛云 3、设置用户的头像记录 4、返回应答 :return: """ # 1、获取上传图片文件 file = request.files.get('avatar') if not file: return jsonify(errno=RET.PARAMERR, errmsg='缺少参数') # 2、上传图片到七牛云 try: key = image_storage(file.read()) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg='上传头像失败') # 3、设置用户的头像记录 user_id = g.user_id try: user = User.query.get(user_id) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='查询用户信息失败') if not user: return jsonify(errno=RET.USERERR, errmsg='用户不存在') user.avatar_url = key try: db.session.commit() except Exception as e: db.session.rollback() current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='保存头像记录失败') # 4、返回应答 avatar_url = constants.QINIU_DOMIN_PREFIX + key return jsonify(errno=RET.OK, errmsg='上传头像成功', data={'avatar_url': avatar_url})
def save_house_image(): house_id = request.form.get('house_id') if not house_id: return jsonify(errno=RET.PARAMERR, errmsg='缺少参数') file = request.files.get('house_image') if not file: return jsonify(errno=RET.PARAMERR, errmsg='缺少图片') try: house = House.query.get(house_id) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='查询房屋信息失败') if not house: return jsonify(errno=RET.NODATA, errmsg='房屋不存在') try: key = image_storage(file.read()) except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.THIRDERR, errmsg='上传房屋图片失败') house_image = HouseImage() house_image.house_id = house_id house_image.url = key if not house.index_image_url: house.index_image_url = key try: db.session.add(house_image) db.session.commit() except Exception as e: db.session.callback() current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg='保存房屋图片失败') image_url = constants.QINIU_DOMIN_PREFIX + key return jsonify(errno=RET.OK, errmsg='OK', data={'img_url': image_url})