品易云推流 关闭
文章详情页
文章 > Flask > flask怎么实现多图上传

flask怎么实现多图上传

头像

silencement

2019-07-26 11:10:055451浏览 · 0收藏 · 0评论

flask实现图片上传

前端调用接口,进行访问:在js文件下,ajax去访问地址

注意:上面是一个需要提交内容的form,通常情况下,我们直接通过form提交的话, 提交后当前页面跳转到form的action所指向的页面。然而,很多时候我们比不希望提交表单后页面跳转,那么,我们就可以使用ajaxSubmit(obj)来提交数据。

$('#form-name').submit(function(){
    $(this).ajaxSubmit({
        # 访问后端的接口
        url:'/house/images/',
        # 请求的方式
        type:'POST',
        # 数据的类型
        dataType:'json',
        # 请求成功,进行的操作
        success:function(data){
            if (data.code == '200'){

            }   
        },
        # 请求失败进行相应的操作
        error:function(data){
            alert(data.msg)
        }  
   })

flask后台相应的接口

将图片放在static文件夹下

image_url = os.path.join(os.path.join('/static', 'upload'), images.filename)
@house_blueprint.route('/images/', methods=['POST']) def newhouse.images():
    # 获得图片(images:<FileStorage: 'wa.jpg' ('image/jpeg')>)
    images = request.files.get('house_image')
    house_id = request.form.get('house_id')
    # 得到upload的路径
    upload_dir = os.path.join(os.path.join(BASE_DIR,'static'), 'upload')
    # 得到上传图片要保存的路径
    # 'D:\\project\\houseproject\\static\\upload\\wa.jpg'
    url = os.path.join(upload_dir,images.filename)
    # 保存图片
    images.save(url)

    house_image = HouseImage()
    house_image.house_id = house_id
    image_url = os.path.join(os.path.join('/static', 'upload'), images.filename)
    house_image.url = image_url    try:
        house_image.add_update()
    except:
        return jsonify(status_code.DATABAE_ERROR)

    house = House.query.get(house_id)
    if not house.index_image_url:

        house.index_image_url = image_url        try:
            house.add_update()
        except:
            return jsonify(status_code.DATABAE_ERROR)
    return jsonify(code=status_code.OK, image_url=image_url)


关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图