Пример #1
0
def check_save_advertisement_pictures(advertisement_pictures, model=None, update=None):
    '''检查保存图片大小。保存'''
    for picture in advertisement_pictures:
        if (update is not None) and (model is not None): #todo 如果时修改,得到旧图片。?
            old_picture = str(model.base_path) + str(model.rel_path) + '/' + str(model.picture_name)
        if picture.filename == '': # 没图片,就不更新咯。?
            return True
        if not allowed_file_extension(picture.filename, ADVERTISEMENT_ALLOWED_EXTENSION): # 判断是否是合理图片
            flash(u'图片格式不支持, png, jpeg支持', 'error')
            return False
        upload_name = picture.filename
        base_path = ADVERTISEMENT_BASE_PATH # 得到保存广告图片绝对路径
        rel_path = ADVERTISEMENT_UPLOAD_FOLDER # 得到广告图片的相对路径
        picture_name = time_file_name(secure_filename(upload_name)) # 得到加工后图片的名字
        picture.save(os.path.join(base_path + rel_path + '/', picture_name)) # 保存图片到指定文件夹

        image = Image.open(os.path.join(base_path + rel_path + '/', picture_name)) # 得到图片
        # 这里只有先保存后才能在服务器中得到图片,所以才先保存后判断的么。?
        if image.size != (400, 100):
            flash(u'图片需要固定大小 400 * 100', 'error')
            os.remove(os.path.join(base_path + rel_path + '/', picture_name)) # 删除不合规矩的图片
            return False
        # 各个字段值赋值
        model.base_path = base_path
        model.rel_path = rel_path
        model.picture_name = picture_name

        if (update is not None) and (model is not None):
            try:
                os.remove(old_picture)
            except:
                display = "remove %s failed" % old_picture
                flash(display, 'error')

        return True
Пример #2
0
def check_save_gift_pictures(gift_pictures, model=None, update=None):
    """200*200的图片"""

    for picture in gift_pictures:
        if (update is not None) and (model is not None):
            old_picture = str(model.base_path) + str(model.rel_path) + '/' + str(model.pic_name)
        if picture.filename == '':  # 或许没有图片,那么图片不更新
            return True
        if not allowed_file_extension(picture.filename, GIFT_ALLOWED_EXTENSION):
            flash(u'图片格式不支持啊,png,jpeg支持', 'error')
            return False
        upload_name = picture.filename
        base_path = GIFT_BASE_PATH
        rel_path = GIFT_UPLOAD_FOLDER
        pic_name = time_file_name(secure_filename(upload_name))
        picture.save(os.path.join(base_path+rel_path+'/', pic_name))

        image = Image.open(os.path.join(base_path+rel_path+'/', pic_name))

        if image.size != (200, 200):
            flash(u'图片需要固定大小的哦 200 * 200', 'error')
            os.remove(os.path.join(base_path+rel_path+'/', pic_name))
            return False

        model.base_path = base_path
        model.rel_path = rel_path
        model.pic_name = pic_name

        if (update is not None) and (model is not None):
            try:
                os.remove(old_picture)
            except:
                display = "remove %s failed" % old_picture
                flash(display, 'error')

        return True