def post(self): from utils.qiniu_storage import storage try: image_data = self.request.files["avatar"] if not image_data: return self.write(dict(errcode=RET.PARAMERR, errmsg="未上传图片")) except Exception as e: logging.error(e) return self.write("出错了") try: avatar = image_data[0]["body"] key = storage(avatar) except Exception as e: return self.write(dict(errcode=RET.THIRDERR, errmsg="上传失败")) # 从session中取出用户user_id 用来存储用户的图片信息导数据库 user_id = self.session.data['user_id'] # 保存图片的url sql = "update ih_user_profile set up_avatar=%(avatar)s WHERE up_user_id =$(user_id)s " try: # execute返回新增id,execute_rouwcount 返回受影响的行数 row_count = self.db.execute_rowcount(sql, 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="ok!!"))
def post(self): try: image_data = self.request.files['avatar'][0]['body'] 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("") print key # 更新用户头像url到数据库内 try: self.db.execute("update ih_user_profile set up_avatar = %(avatar_url)s where up_user_id = %(up_user_id)s", avatar_url=key, up_user_id=self.session.data.get('up_user_id')) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DATAERR, errmsg="数据库出错")) # 更新session self.session.data['up_avatar'] = key self.session.save() data = config.image_domain+key self.write(dict(errcode=RET.OK, data=data))
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["user_id"] # 保存图片名(即图片url)到数据中 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=file_name, 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" % (constants.QINIU_URL_PREFIX + file_name)))
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({ "errcode": RET.THIRDERR, "errmsg": "qiuniu 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({ "errcode": RET.DBERR, "errmsg": "upload failed" }) img_url = constant.QINIU_URL_PREFIX + img_name self.write(dict(errcode=RET.OK, errmsg="OK", url=img_url))
def post(self): # 取出用户上传的图片二进制数据 files = self.request.files.get("avatar") # 参数校验 if not files: return self.write(dict(errcode=RET.PARAMERR, errmsg="未上传图片")) # 上传到七牛云 img_data = files[0]["body"] try: avatar_name = storage(img_data) except Exception as e: logging.error(e) return self.write(dict(errcode=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_rowcount(sql, avatar=avatar_name, user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="数据库出错")) # 更新缓存 self.session.data["avatar"] = avatar_name try: self.session.save() except Exception as e: logging.error(e) # 返回图片链接 img_url = constants.QINIU_URL_PREFIX + avatar_name self.write(dict(errcode=RET.OK, errmsg="上传成功", img_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="qiniu error")) try: 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="upload failed")) img_url = constants.QINIU_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"] 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({"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({"errcode":RET.DBERR, "errmsg":"upload failed"}) img_url = constants.QINIU_URL_PREFIX + img_name self.write({"errcode":RET.OK, "errmsg":"OK", "url":img_url})
def post(self): try: house_id = self.get_argument("house_id") house_image = self.request.files["house_image"][0]["body"] except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DATAERR, msg="参数错误")) image_url = storage(house_image) if not image_url: return self.write(dict(errcode=RET.THIRDERR, msg="七牛存储错误")) try: # 将上传的七牛图片地址存储到数据库里面去,用户的第一张图片作为房屋的封面 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, image_url, image_url, house_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, msg="数据库错误")) image_url = config.qiniu_url + image_url self.write(dict(errcode=RET.OK, msg="OK", data=image_url))
def post(self): files = self.request.files.get('avatar') if not files: return self.write(dict(errcode=RET.PARAMERR, errmsg='未传图片')) file = files[0]['body'] try: # 调用7牛空间保存图片 file_name = storage(file) except Exception as e: logging.error(e) return self.write(dict(errcode=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" # 保存到数据库 sql = "update ih_user_profile set up_avatar=%(avatar)s where up_user_id=%(user_id)s" try: 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='保存错误')) avater_url = QINIU_URL_PREFIX + file_name self.write(dict(errcode=RET.OK, errmsg="保存成功", data=avater_url))
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.THREDERR, 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: 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="保持错误")) self.write(dict(errcode=RET.OK, errmsg="OK", data="%s%s" %(constants.QINIU_URL_PREFIX, file_name)))
def post(self): # 获取参数,房屋id,图片数据 house_id = self.get_argument("house_id") try: image_data = self.request.files["house_image"][0]["body"] except Exception as e: logging.error(e) image_data = None # 参数校验 if not all((house_id, image_data)): return self.write( dict(errcode=RET.PARAMERR, errmsg="missing parameter")) # 把图片上传到七牛云 try: image_name = storage(image_data) except Exception as e: logging.error(e) return self.write( dict(errcode=RET.THIRDERR, errmsg="upload image error")) # 插入房屋图片表(如果是第一张图片,再更新房屋信息表的房屋默认图片) sql = "insert into ih_house_image(hi_house_id, hi_url) values(%s, %s);" sql2 = "update ih_house_info set hi_index_image_url=%s " \ "where hi_house_id=%s and hi_index_image_url is null;" try: self.db.execute(sql, house_id, image_name) self.db.execute(sql2, image_name, house_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="insert db error")) # 房屋信息更新,清除redis缓存 try: self.redis.delete("house_info_%s" % house_id) except Exception as e: logging.error(e) # 成功,返回结果 image_url = constants.QINIU_URL_PREFIX + image_name self.write(dict(errcode=RET.OK, errmsg="OK", url=image_url))
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["user_id"] # 保存图片名(即图片url)到数据中 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=file_name, 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" % (constants.QINIU_URL_PREFIX, file_name)))
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(dict(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;" logging.info(sql) 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="upload failed")) img_url = constants.QINIU_URL_PERFIX + img_name self.write(dict(errcode=RET.OK, errmsg="OK", url=img_url))
def post(self): try: image_data = self.request.files.get('avatar', '') except Exception as e: logging.error(e) return self.write(dict(errcode=RET.PARAMERR, errmsg="未传图片")) try: file_name = storage(image_data[0]["body"]) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.THIRDERR, errmsg="上传失败")) try: user = Tenant.by_mobile(self.current_user.phone_number) user.user_avatar = file_name self.db.add(user) self.db.commit() 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" % (constants.QINIU_URL_PREFIX, file_name)))
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({ "errcode": RET.THIRDERR, "errmsg": "qiniu error" }) try: 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({ "errcode": RET.PARAMERR, "errmsg": "upload failed" }) img_url = constants.QINIU_URL_PREFIX + img_name self.write({"errcode": RET.OK, "errmsg": "OK", "url": img_url})
def post(self): file = self.request.files img_files = file.get('avatar') if not img_files: return self.write(dict(errcode=RET.PARAMERR, errmsg='未传图片')) img_file = img_files[0]['body'] try: key = storage(img_file) except Exception as e: logging.error(e) return self.write(dict(errcod=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: row_count = self.db.execute_rowcount(sql, avatar=key, user_id=user_id) except Exception as e: logging.error(e) return self.write(dict(errcod=RET.DBERR, errmsg='保存错误')) self.write( dict(errcode=RET.OK, errmsg="保存成功", data="%s%s" % (constants.QINIU_URL_PREFIX, key)))
def post(self): user_id = self.session.data["user_id"] try: image = self.request.files["avatar"][0]["body"] except Exception as e: logging.error(e) return self.write(dict(errcode=RET.PARAMERR, msg="参数错误")) try: image_name = storage(image) except Exception as e: logging.error(e) image_name = None if not image_name: return self.write( dict(errcode=RET.THIRDERR, msg=error_map[RET.THIRDERR])) try: ret = self.db.execute( "update ih_user_profile set up_avatar=%s where up_user_id=%s", image_name, user_id) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, msg="upload failed")) image_url = config.qiniu_url + image_name return self.write(dict(errcode=RET.OK, msg={"url": image_url}))
def post(self): #'''In[基本信息]''' house_title = self.get_argument('house_title', '') #房屋标题 one_night_price = int(self.get_argument('one_night_price', '')) #每晚价格 area_id = int(self.get_argument('area_id', '')) #所在城区 address = self.get_argument('address', '') #详细地址 #'''In[详细信息]''' room_count = int(self.get_argument('room_count', '')) #出租房间数目 aacreage = int(self.get_argument('acreage', '')) #房屋面积 unit = self.get_argument('unit', '') #户型描述 capacity = int(self.get_argument('capacity', '')) #宜住人数 beds = self.get_argument('beds', '') #卧床配置 deposit = int(self.get_argument('deposit', '')) #押金数额 min_days = int(self.get_argument('min_days', '')) #最少入住天数 max_days = int(self.get_argument('max_days', '')) #最多入住天数 facility = self.get_body_arguments('facility[]', '') #配套设施 himage = self.request.files.get('house_image', '') #获取图片 if not all( (house_title, one_night_price, area_id, address, room_count, aacreage, unit, capacity, beds, deposit, min_days, himage)): return self.write(dict(errcode=RET.DATAERR, errmsg="缺少参数")) if max_days == 0 and min_days < 0: return self.write( dict(errcode=RET.DATAERR, errmsg="最多入住天数等于0时,入住最少天数不应比0小")) if max_days > 0 and min_days > max_days: return self.write( dict(errcode=RET.DATAERR, errmsg="最多入住天数应大于最少入住天数")) # '''In[保存图片]''' try: T = Tenant.by_mobile(self.current_user.phone_number) hous_info = Hous_info() hous_info.tenant_id = T.id #保存房东ID(外键) hous_info.name = house_title #保存房屋名称 hous_info.price = one_night_price #保存每晚价格 hous_info.hous_areaid = area_id #保存区域ID(外键) hous_info.site = address #保存地址 hous_info.room_count = room_count #保存房间数量 hous_info.acreage = aacreage #保存房屋面积 hous_info.type = unit #保存房屋 hous_info.capacity = capacity #保存户型描述 hous_info.bed = beds #保存床配置 hous_info.deposit = deposit #保存押金 hous_info.min_days = min_days #保存最小天数 hous_info.max_days = max_days #保存最大天数 hous_info.ctime = datetime.now() #保存创建时间 # 房屋与配套设施中间表 try: for i in facility: facilitys = Facility.by_id(i) hous_info.info_facility.append(facilitys) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.PARAMERR, errmsg='配套设施参数错误')) try: file_name = storage(himage[0]['body']) hous_info.image_url = (constants.QINIU_URL_PREFIX + file_name ) #图片路径 except Exception as e: logging.error(e) return self.write(dict(errcode=RET.PARAMERR, errmsg='图片保存错误')) self.db.add(hous_info) self.db.commit() except Exception as e: logging.error(e) return self.write( dict(errcode=RET.PARAMERR, errmsg='hous_info参数错误')) self.write(dict(errno=RET.OK, errmsg='OK'))