def post(self): img_data = self.request.files['house_image'][0]['body'] house_id = self.get_argument('house_id') print 'HOUSE_ID%s' % house_id # 上传文件到七牛 try: img_name = storage(img_data) except Exception as e: logging.error(e) img_name = None if not img_name: return self.write({'errno': RET.THIRDERR, 'errmsg': 'qiniu error'}) try: img_tmp = House_image(hi_house_id=house_id, hi_url=img_name) self.session_sql.add(img_tmp) self.session_sql.commit() except Exception as e: logging.error(e) return self.write({'errno': RET.DBERR, 'errmsg': 'upload failed'}) # 设置最新上传的图片为房源首页图片 try: house_tmp = self.session_sql.query(HouseInfo).filter( HouseInfo.hi_house_id == house_id).first() except Exception as e: logging.error(e) house_tmp.hi_index_image_url = img_name self.session_sql.commit() url = image_url_prefix + img_name return self.write({'errno': RET.OK, 'errmsg': 'OK', 'url': url})
def post(self): user_id = self.session.data["user_id"] try: avatar = self.request.files["avatar"][0]["body"] except Exception as e: logging.info(e) return self.write(dict(errno=RET.PARAMERR, errmsg="参数出错")) try: img_name = storage(avatar) except Exception as e: logging.info(e) img_name = None if not img_name: return self.write({"errno": RET.THIRDERR, "errmsg": "qiniu error"}) try: print "99999" self.db.execute_rowcount( "update ih_user_profile set up_avatar=%(avatar)s " "where up_user_id=%(user_id)s", avatar=img_name, user_id=user_id) except Exception as e: print "____________=====+_____" logging.info(e) return self.write({"errno": RET.DBERR, "errmsg": "upload failed"}) img_url = config.image_url_prefix + img_name self.write({"errno": RET.OK, "errmsg": "OK", "data": img_url})
def post(self, *args, **kwargs): house_id = self.get_argument("house_id") files = self.request.files.get("house_image") if not files: return self.write({"errcode": RET.PARAMERR, "errmsg": "请选择图片"}) # 上传图片到七牛 house_image = files[0]['body'] image_name = storage(house_image) # print(image_name) if not image_name: return self.write({ "errcode": RET.THIRDERR, "errmsg": "qiniu error" }) try: #1、保存图片到数据库,并且设置房屋的主图片 sql = "insert into ih_house_image(hi_house_id,hi_url) values(%s,%s);" self.db.cursor().execute(sql, (house_id, image_name)) sql ="update ih_house_info set hi_index_image_url=%s " \ "where hi_house_id=%s and hi_index_image_url is null;" self.db.cursor().execute(sql, (image_name, house_id)) self.db.commit() except Exception as e: self.db.rollback() logging.error(e) return self.write({ "errcode": RET.DBERR, "errmsg": "upload failed" }) img_url = iamage_base_url + image_name # print(img_url) self.write({"errcode": RET.OK, "errmsg": "OK", "url": img_url})
def post(self): #获取图片文件参数 try: image_data = self.request.files["avatar"][0]["body"] except Exception as e: logging.error(e) return self.write(dict(errcode=RET.NODATA,errmsg="未传图片")) print image_data #调用七牛上传图片 try: #调用storage返回一个图片唯一识别码key key = storage(image_data) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.THIRDERR,errmsg="保存失败")) #从session中取出user_id user_id = self.session.data["user_id"] #保存图片名称到数据库 try: res = self.db.execute("update ih_user_profile set up_avatar=%(avatar)s where up_user_id=%(user_id)s",avatar=key,user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR,errmsg="数据库保存失败")) self.write(dict(errcode=RET.OK,errmsg="保存成功",data="%s%s"%(config.image_url_prefix,key)))
def post(self): user_id = self.session.data['user_id'] # try: # image_data = self.request.files["avater"][0]["body"] # if not image_data: # return self.write(dict(errno =RET.PARAMERR, errmsg ="未传图片" ) # except Exception as e: # logging.error(e) # return self.write("") try: key = storage(image_data) except Exception as e: logging.error(e) return self.write(dict(errno=RET.PARAMERR, errmsg="上传失败")) try: self.db.execute( "update ih_user_profile set up_avatar=%(avatar)s where up_user_id=%(user_id)s", avatar=image_data, user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(errno=RET.DBERR, errmsg="保存错误")) else: return self.write( dict(errno=RET.OK, errmsg="保存成功", data="%s%s" % (config.image_url_prefix, image_data)))
def post(self): user_id = self.session.data.get("user_id") try: pic_data = self.request.files.get("avatar")[0].body except Exception as e: logging.error(e) return self.write(dict(errno=RET.PAEAMERR, errmsg="参数错误")) try: pic_name = storage(pic_data) except Exception as e: logging.error(e) pic_name = None if not pic_name: return self.write(dict(errno=RET.THIRDERR, errmsg="七牛保存失败")) try: ret = self.db.execute( "update ih_user_profile set up_avatar = %s where up_user_id = %s", pic_name, user_id) except Exception as e: logging.error(e) return self.write(dict(errno=RET.DBERR, errmsg="数据库存储失败")) # pic_url = config.image_url_prefix + "/" + pic_name + ".jpg" pic_url = image_url_prefix + pic_name self.write( dict(errno=RET.OK, errmsg="OK", data={ "pic_url": pic_url, "user_id": user_id }))
def post(self): files = self.request.files.get("avatar") if not files: return self.write(dict(errcode=RET.PARAMERR, errmsg="未传图片")) avatar = files[0]["body"] # 调用七牛上传图片 try: file_name = storage(avatar) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.THIRDERR, errmsg="上传失败")) #从session数据中取出user_id user_id = self.session.data.get("user_id") # 保存图片名(即图片url)到数据库中 sql = "update tor_user_info set ui_avatar=%(avatar)s where ui_user_id=%(user_id)s" try: row_count = self.db.execute_rowcount(sql, avatar=file_name, user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="保存错误")) data = "%s/%s" % (constants.QINIU_URL_PREFIX, file_name) # print("url:%s" %data) print("avatar_row_count:%s" % row_count) self.session.data["avatar"] = data self.write( dict(errcode=RET.OK, errmsg="保存成功", data="%s/%s" % (constants.QINIU_URL_PREFIX, file_name)))
def post(self, *args, **kwargs): # 获取参数 try: image_data = self.request.files['avatar'][0]['body'] except Exception as e: logging.error(e) return self.write(dict(errno=RET.PARAMERR, errmsg='参数错误')) # 检查参数 self.check_args(image_data) # 上传七牛云空间 try: image_name = storage(image_data) except Exception as e: logging.error(e) return self.write(dict(errno=RET.THIRDERR, errmsg='头像上传七牛错误')) # 更新数据库 user_id = self.session.data.get('user_id') ih_user_profile = ihome_model('ih_user_profile') item = dict(up_avatar=image_name) try: self.db.query(ih_user_profile).filter( ih_user_profile.up_user_id == user_id).update(item) self.db.commit() except Exception as e: logging.error(e) return self.write(dict(errno=RET.DBERR, errmsg='保存用户头像失败')) # 返回数据 self.write( dict(errno=RET.OK, errmsg='OK', data='%s%s' % (config.image_url_prefix, image_name)))
def post(self): # 读取图片文件数据 try: image_data = self.request.files['avatar'][0]['body'] except Exception as e: # 参数出错 logging.error(e) return self.write(dict(errno=RET.PARAMERR, essmsg='参数错误')) # 将图片存储到七牛 try: image_name = storage(image_data) except Exception as e: logging.error(e) image_name = None # storage函数会返回七牛存储器中自动生成的文件名,若为空则存储出错 if not image_name: return self.write({'errno': RET.THIRDERR, 'errmsg': 'qiniu error'}) try: # 将头像文件名存入mysql数据库 usr = self.session_sql.query(UserProfile).filter( UserProfile.up_mobile == self.session.data['mobile']).first() usr.up_avatar = image_name self.session_sql.commit() except Exception as e: logging.error(e) return self.write({'errno': RET.DBERR, 'errmsg': 'upload failed'}) # 加上外链域名组合成完整url img_url = image_url_prefix + image_name # 返回数据给ajax return self.write({'errno': RET.OK, 'errmsg': 'OK', 'url': img_url})
def create(self, validated_data): # 1,获取用户对象 code = validated_data['img'].replace('data:image/jpeg;base64,', '').replace('data:image/png;base64,','') imgData = base64.b64decode(code) url = storage(imgData) del validated_data['img'] blog = super().create(validated_data) blog.user_id = 12 blog.img = 'http://pps8t245f.bkt.clouddn.com/'+url # 获取当前时间 time_now = int(time.time()) # 转换成localtime time_local = time.localtime(time_now) # 转换成新的时间格式(2016-05-09 18:59:20) dt = time.strftime("%Y-%m-%d", time_local) blog.time = dt blog.save() from celery_tasks.html.tasks import generate_static_sku_detail_html generate_static_sku_detail_html.delay(blog.id) return blog
def post(self, *args, **kwargs): ''' 头像上传接口 ''' # 接受上传的数据 try: image_data = self.request.files['avatar'][0]['body'] except Exception as e: logging.error(e) return self.write(dict(code='bb', msg='前端向后台传输图片失败')) # 如果后台接收到图片数据,把图片数据作为参数传递给封装好的七牛接口 try: key = storage(image_data) except Exception as e: logging.error(e) return self.write(dict(code='cc', msg="向七牛传递数据出错")) # 七牛上传图片成功,拿到返回的key,把key保存到数据库 user_id = self.session.data['user_id'] sql = "update ih_user_profile set up_avatar = %(avatar)s where up_user_id = %(user_id)s " try: row_count = self.db.execute_rowcount(sql, avatar=key, user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(code="dd", msg="更新数据库图片失败")) # 保存成功,修改session中的头像图片 self.session.data['avatar'] = "%s%s" % (config.qiniu_url, key) self.session.save() return self.write( dict(code="00", msg="ok", data="%s%s" % (config.qiniu_url, key)))
def post(self): user_id = self.session.data["user_id"] # user_id = self.get_argument("user_id") 用于测试 house_id = self.get_argument("house_id") house_image = self.request.files["house_image"][0]["body"] #调用七牛接口上传图片 img_name = storage(house_image) if not img_name: return self.write({ "errcode": RET.THIRDERR, "errmsg": "qiniu error" }) try: #保存图片路径到数据库ih_house_image表,并且设置房屋的主图片(ih_house_info中的hi_index_image_url) #将用户上传的第一张图片作为该房屋的主图片 sql = "insert into ih_house_image(hi_house_id,hi_url) values(%s,%s);"\ "update ih_house_info set hi_index_image_url=%s where hi_house_id=%s and hi_index_image_url is null " self.db.execute(sql, house_id, img_name, img_name, house_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="上传失败")) img_url = config.image_url_prefix + img_name self.write(dict(errcode=RET.OK, errmsg="OK", url=img_url))
def post(self): user_id = self.session.data["user_id"] try: avatar = self.request.files["avatar"][0]["body"] except Exception as e: logging.error(e) return self.write(dict(errno=RET.PARAMERR, errmsg="参数错误")) try: img_name = storage(image_data) except Exception as e: logging.error(e) img_name = None if not img_name: return self.write(dict(errno=RET.THIRDERR, errmsg="qiniu error")) try: ret = self.db.execute("update ih_user_profile set up_avatar=%(avatar)s where up_user_id=%(user_id)s", avatar=img_name, user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(errno=RET.DBERR, errmsg="upload failed")) img_url = image_url_prefix + img_name self.write(dict(errno=RET.OK, errmsg="OK", url=img_url))
def save_house_image(): """ 保存房屋的图片 Request Body Params: image_file: 图片 house_id: 房屋id Returns: 对象的状态码, 和响应信息 """ image_file = request.files.get('image_file') # 多媒体表单中是可以携带字符串参数的, 所以我们可以在表单中同时获取到它 house_id = request.form.get('house_id') # 参数效验 if not all([image_file, house_id]): return jsonify(errcode=RET.PARAMERR, errmsg="参数错误") # 判断房屋id的正确性 try: house = House.query.get(house_id) except Exception as e: current_app.logger.error(e) return jsonify(errcode=RET.DBERR, errmsg="数据库异常") else: if house is None: return jsonify(errcode=RET.NODATA, errmsg="房屋不存在") # 保存图片到七牛中 image_data = image_file.read() try: image_url = storage(current_app.config.get('QINIU_ZONE_HOST'), image_data) except Exception as e: current_app.logger.error(e) return jsonify(errcode=RET.THIRDERR, errmsg='保存图片失败') # 保存图片信息到数据库中 house_image = HouseImage(house_id=house_id, url=image_url) db.session.add(house_image) # 保存作为主页的房屋图片, 只设置一张, 先判断它是否已经设置过, 否则不设置 if not house.index_image_url: house.index_image_url = image_url db.session.add(house) try: db.session.commit() except Exception as e: current_app.logger.error(e) db.session.rollback() return jsonify(errcode=RET.DBERR, errmsg="主页图片保存失败") return jsonify(errcode=RET.OK, errmsg='ok', data={'image_url': image_url})
def update(self, instance, validated_data): icon = validated_data["head"] img_name = random.randint(0, 999999) url = storage(icon.read()) instance.head = url instance.save() # 3,返回 return instance
def post(self): user_id = self.session.data["user_id"] avatar = self.request.files["avatar"][0]["body"] img_name = storage(avatar) if not img_name: return self.write({"errno": 1, "errmsg": "qiniu error"}) try: ret = self.db.execute( "update ih_user_profile set up_avatar=%s where up_user_id=%s", img_name, user_id) except Exception as e: logging.error(e) return self.write({"errno": 2, "errmsg": "upload failed"}) img_url = image_url_prefix + img_name self.write({"errno": 0, "errmsg": "OK", "url": img_url})
def post(self): user_id = self.session.data["user_id"] house_id = self.get_argument("house_id") house_image = self.request.files["house_image"][0]["body"] img_name = storage(house_image) if not img_name: return self.write({"errno": RET.THIRDERR, "errmsg": "qiniu error"}) try: self.db.execute( "insert into ih_house_image(hi_house_id,hi_url) values(%s,%s);update ih_house_info set hi_index_image_url=%s where hi_house_id=%s and hi_index_image_url is null;", house_id, img_name, img_name, house_id) except Exception as e: logging.error(e) return self.write({"errno": RET.DBERR, "errmsg": "upload failed"}) img_url = image_url_prefix + img_name self.write({"errno": RET.OK, "errmsg": "OK", "url": img_url})
def post(self): ''' 用户上传头像的接口 :return: ''' try: image_data = self.request.files['avatar'][0]['body'] except Exception as e: logging.error(e) return self.write(dict(code='bb',msg='前端向服务端上传图片失败')) #如果没有问题,拿到头像之后需要上传,上传过程也可能会出错 try: key = image_storage.storage(image_data) except Exception as e: logging.error(e) return self.write(dict(code='cc',msg='向七牛上传图片失败'))
def post(self, *args, **kwargs): ''' 我的房屋图像上传接口 ''' # 接受上传的数据 house_id = self.get_argument("house_id") logging.info("house_id: %s" % (house_id)) try: image_data = self.request.files['house_image'][0]['body'] except Exception as e: logging.error(e) return self.write(dict(code='01', msg='前端向后台传输图片失败')) # 如果后台接收到图片数据,把图片数据作为参数传递给封装好的七牛接口 try: key = storage(image_data) except Exception as e: logging.error(e) return self.write(dict(code='02', msg="向七牛传递数据出错")) # 七牛上传图片成功,拿到返回的key,把key保存到数据库 # 两步操作,也要用到数据库回滚 # 1.在ih_house_image表中插入每一张的图片信息 sql = " insert into ih_house_image ( hi_house_id,hi_url,hi_ctime) VALUES (%(house_id)s,%(url)s,now())" try: image_id = self.db.execute_rowcount(sql, house_id=house_id, url=key) except Exception as e: logging.error(e) return self.write(dict(code="03", msg="表ih_house_image插入数据失败")) logging.info("表ih_house_image数据插入成功") # 表ih_house_info中的hi_index_image_url字段(房屋的主图片)插入数据 sql = " update ih_house_info set hi_index_image_url = %s where hi_house_id = %s and hi_index_image_url = '' " try: logging.info("开始更新表ih_house_info里的hi_index_image_url字段") self.db.execute(sql, key, house_id) except Exception as e: logging.error(e) logging.info("表ih_house_info表图片字段insert failed , rollback begin") # 开始把第一次插入的数据删除 try: self.db.execute(" delete from ih_house_image where hi_image_id = %s ", image_id) except Exception as e: logging.error(e) logging.info(" rollback failed ,删除失败! ") return self.write(dict(code="04", msg="rollback 失败")) else: logging.info(" rollback success! ") return self.write(dict(code="00", msg="ok", data="%s%s" % (config.qiniu_url, key)))
def post(self): user_id = self.session.data["user_id"] house_id = self.get_argument("house_id") house_image = self.request.files["house_image"][0]["body"] # 调用我们封装好的上传七牛的storage方法上传图片 img_name = storage(house_image) if not img_name: return self.write({"errno":RET.THIRDERR, "errmsg":"qiniu error"}) try: # 保存图片路径到数据库ih_house_image表,并且设置房屋的主图片(ih_house_info中的hi_index_image_url) # 我们将用户上传的第一张图片作为房屋的主图片 sql = "insert into ih_house_image(hi_house_id,hi_url) values(%s,%s);" \ "update ih_house_info set hi_index_image_url=%s " \ "where hi_house_id=%s and hi_index_image_url is null;" self.db.execute(sql, house_id, img_name, img_name, house_id) except Exception as e: logging.error(e) return self.write({"errno":RET.DBERR, "errmsg":"upload failed"}) img_url = config.image_url_prefix + img_name self.write({"errno":RET.OK, "errmsg":"OK", "url":img_url})
def post(self): user_id = self.session.data["user_id"] house_id = self.get_argument("house_id") house_image = self.request.files["house_image"][0]["body"] # 调用封装好的上传七牛的storage方法上传图片 img_name = storage(house_image) if not img_name: return self.write(dict(errcode=RET.THIRDERR, errmsg="七牛上传错误")) try: # 保存图片到tor_house_image表中,并且设置房屋的主图片(tor_house_info表中的hi_index_image_url) # 将用户上传的第一张图片作为房屋的主图片 sql = "insert into tor_house_image(hi_house_id, hi_url) values(%s,%s);" \ "update tor_house_info set hi_index_image_url=%s where hi_house_id=%s and hi_index_image_url is null;" self.db.execute(sql, house_id, img_name, img_name, house_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="图片存储错误")) img_url = constants.QINIU_URL_PREFIX + img_name self.write(dict(errcode=RET.OK, errmsg="ok", url=img_url))
def set_user_portrait(): """ 设置用户头像 Requst Param: file_data: 图片数据(多媒体表单上传) Returns: 返回对应的状态码和错误信息 """ # 它在登录装饰器中, 已经获取并保存在g对象中, 所以我们可以直接从g对象中获取 user_id = g.user_id # 获取图片 image_file = request.files.get('image_file') if image_file is None: return jsonify(errcode=RET.PARAMERR, errmsg="缺少参数, 图片未上传") # 读取图片文件数据 image_data = image_file.read() try: # 获取域名: 在配置文件中设置 host = current_app.config.get('QINIU_ZONE_HOST') # 获取图片完整链接 image_url = storage(host, image_data) except Exception as e: current_app.logger.error(e) return jsonify(errcode=RET.THIRDERR, errmsg="图片上传失败") # 保存图片链接到数据库中 try: user = User.query.filter_by(id=user_id).update({'avatar_url': image_url}) db.session.commit() except Exception as e: db.session.rollback() current_app.logger.error(e) return jsonify(errcode=RET.DBERR, errmsg="图片信息保存失败") # 保存成功返回 return jsonify(errcode=RET.OK, errmsg="图片上传成功", image_url=image_url)
def post(self): try: image_data = self.request.files["avatar"][0]["body"] except Exception as e: logging.error(e) return self.write(dict(errno=RET.PARAMERR, errmsg="未传图片")) try: key = storage(image_data) except Exception as e: logging.error(e) return self.write(dict(errno=RET.THIRDERR, errmsg="上传失败")) user_id = self.session.data["user_id"] sql = "update ih_user_profile set up_avatar=%(avatar)s where up_user_id=%(user_id)s" try: self.db.execute(sql, avatar=key, user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(errno=RET.DBERR, errmsg="保存错误")) image_url = config.image_url_prefix + key return self.write( dict(errno=RET.OK, errmsg="保存成功", data="%s" % image_url))
def post(self): user_id = self.session.data["user_id"] try: avatar = self.request.files["avatar"][0]["body"] except Exception as e: logging.error(e) return self.write(dict(errno=RET.PARAMERR, errmsg="参数错误")) try: img_name = storage(avatar) except Exception as e: logging.error(e) img_name = None if not img_name: return self.write({"errno": RET.THIRDERR, "errmsg": "qiniu error"}) try: ret = self.db.execute("update ih_user_profile set up_avatar=%s where up_user_id=%s", img_name, user_id) except Exception as e: logging.error(e) return self.write({"errno": RET.DBERR, "errmsg": "upload failed"}) img_url = config.image_url_prefix + img_name self.write({"errno": RET.OK, "errmsg": "OK", "url": img_url})
def post(self, *args, **kwargs): files = self.request.files.get("avatar") if not files: return self.write(dict(errcode=RET.PARAMERR, errmsg="未传图片")) avatar = files[0]['body'] #上传头像到七牛 try: file_name = storage(avatar) except Exception as e: logging('上传头像失败', e) return self.write(dict(errcode=RET.PARAMERR, errmsg="上传头像失败")) try: cur = self.db.cursor() except Exception as e: logging.error("创建游标失败", e) return self.write(dict(errcode=RET.DATAERR, errmsg="上传头像失败")) # session = self.current_user.decode() # session = json.loads(session) # user_id = session['user_id'] user_id = self.session['user_id'] sql = 'update ih_user_profile set up_avatar = "%s" where up_user_id = %s' % ( file_name, user_id) # print(sql) try: cur.execute(sql) self.db.commit() except Exception as e: self.db.rollback() logging('更新头像失败', e) return self.write(dict(errcode=RET.DATAERR, errmsg="上传头像失败")) finally: cur.close() self.write( dict(errcode=RET.OK, errmsg="上传成功", data="%s%s" % (iamage_base_url, file_name)))
def post(self, *args, **kwargs): # 获取参数 house_id = self.get_argument('house_id') try: image_data = self.request.files['house_image'][0]['body'] except Exception as e: logging.error(e) return self.write(dict(errno=RET.PARAMERR, errmsg='参数错误')) # 检查参数 self.check_args(image_data) # 上传七牛云空间 try: image_name = storage(image_data) except Exception as e: logging.error(e) image_name = None if not image_name: return self.write(dict(errno=RET.THIRDERR, errmsg='房屋图片上传七牛错误')) # 保存到数据库 # 保存图片路径到数据库ih_house_image表,并且设置房屋的主图片(ih_house_info中的hi_index_image_url) # 我们将用户上传的第一张图片作为房屋的主图片 ih_house_info = ihome_model('ih_house_info') ih_house_image = ihome_model('ih_house_image') item = dict(hi_house_id=house_id, hi_url=image_name) try: self.db.execute(ih_house_image.__table__.insert(), item) self.db.query(ih_house_info).\ filter(ih_house_info.hi_house_id == house_id, ih_house_info.hi_index_image_url == None).\ update(dict(hi_index_image_url=image_name)) self.db.commit() except Exception as e: logging.error(e) return self.write(dict(errno=RET.THIRDERR, errmsg='save data error')) # 返回数据 img_url = config.image_url_prefix + image_name self.write(dict(errno=RET.OK, errmsg='OK', url=img_url))
def post(self): """头像""" # 获取user_id userId = self.session.data['user_id'] try: avatar = self.request.files['avatarfan'][0]['body'] except Exception as e: logging.error(e) return self.write({'errcode': RET.PARAMERR, 'errmsg': '参数错误'}) try: imgName = storage(avatar) except Exception as e: logging.error(e) imgName = None if not imgName: return self.write({'errcode': RET.PARAMERR, 'errmsg': '参数错误'}) try: ret = self.db.execute('update ih_user_profile set up_avatar=%s where up_user_id=%s', imgName, userId) except Exception as e: logging.error(e) return self.write({'errcode': RET.DBERR, 'errmsg': 'upload failed'}) imgUrl = image_url_prefix + imgName self.write({'errcode': RET.OK, 'errmsg': 'OK', 'url': imgUrl})
def post(self): user_id = self.session.data["user_id"] try: avatar = self.request.files["avatar"][0]["body"] except Exception as e: logging.error(e) return self.write({"errno": RET.PARAMERR, "errmsg": "参数错误"}) try: avatar_name = storage(avatar) except Exception as e: logging.error(e) avatar_name = None return self.write({"errno": RET.THIRDERR, "errmsg": "Qiniu Error"}) try: ret = self.db.execute( "update ih_user_profile set up_avatar=%(avatar)s where up_user_id=%(user_id)s", avatar=avatar_name, user_id=user_id) except Exception as e: logging.error(e) return self.write({"errno": RET.DBERR, "errmsg": "数据库错误"}) avatar_url = image_url_prefix + avatar_name self.write({"errno": RET.OK, "errmsg": "OK", "avatar": avatar_url})
def post(self): user_id = self.session.data["user_id"] # 获取头像图片数据, 返回一个列表 avatar = self.request.files.get("avatar") if not avatar: return self.write(dict(errno=RET.PARAMERR, errmsg="未传头像")) try: img_name = storage(avatar[0].body) except Exception as e: logging.error(e) return self.write(dict(errno=RET.THIRDERR, errmsg="上传头像失败")) # 操作数据库,保存头像信息 sql = "update ih_user_profile set up_avatar=%s where up_user_id=%s" try: self.db.execute_rowcount(sql, img_name, user_id) except Exception as e: logging.error(e) return self.write({"errno": RET.DBERR, "errmsg": "upload failed"}) img_url = image_url_prefix + img_name self.write({"errno": RET.OK, "errmsg": "OK", "url": img_url})