• 技术文章 >Python框架 >Flask

    flask怎么实现多图上传

    silencementsilencement2019-07-26 11:10:05原创5647

    flask实现图片上传

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    $('#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文件夹下

    1

    image_url = os.path.join(os.path.join('/static', 'upload'), images.filename)

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    @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)


    专题推荐:flask多图上传
    上一篇:flask多线程模式 下一篇:flask框架要学多久

    相关文章推荐

    • Flask的URL传参方式有哪些

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网