flask上传图片接口,vue flask 部署

  flask上传图片接口,vue flask 部署

  这篇文章主要为大家详细介绍了真空烧瓶实现图片传输功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了真空烧瓶实现图片传输功能的具体代码,供大家参考,具体内容如下

  

完整流程:

  1.图片转为上传传输到后端

  2.后端接收后,确定文件后缀名无误,修改文件名并保存到固定的路径中

  3.前端请求图片

  4.后端根据图片名字返回图片数据流

  5.前端将数据流处理,转为图片

  1.Vue上传

  模板

  差异

  输入类型=文件类=文件id=文件

  输入类型=提交@click=uploadClick

  /div

  /模板

  脚本

  导出默认值{

  data () {

  返回{}

  },

  方法:{

  uploadClick(){

  控制台。日志(文档。getelementbyid(“文件”).文件[0]);

  var表单数据=新窗口。表单数据()

  formData.append(file ,document.getElementById(file ).文件[0])

  上传(表单数据)

  }

  }

  }

  /脚本

  //这是封装的请求

  导出常量上传=(文件)={

  退货请求({

  网址:“/API/无人机PRP/上传”,

  数据:文件,

  方法: post ,

  标题:{

  "内容类型":"多部分/形式数据"

  },

  })

  }

  2.Flask接收

  #请求中获取到上传的图片

  a=request.files.get(file )

  #限制文件后缀名必须为图片的类型

  allowed_filename=set([png , jpg , JPG , PNG])

  我允许="。"在文件名和filename.rsplit( . 中,1)[1]在允许的文件名中

  path=basedir /image/ #这里的图像是自己创建的保存图片文件夹路径

  img _ name=change _ file _ name(a . filename,ImgID)#这是我自己定义的一个方法为了修改图片的名字为随机生成的唯一ID,同时不修改后缀名

  file_path=path img_name#完整的保存路径加图片名

  保存(文件路径)#保存

  3.Vue请求图片并转换返回的数据流为图片展示

  模板

  差异

  img :src=ferUrl/

  /div

  /模板

  脚本

  导出默认值{

  data () {

  返回{

  imgUrl: ,

  }

  },

  已创建(){

  getImg(ImgNXTIP298.jpg ).然后((res)={

  this.imgUrl=window .网址。createobjecturl(RES . data);//这里请求接收的一定是二进制数据类型数据

  控制台。日志(这个。imgurl);

  });

  }

  }

  /脚本

  //封装的图片请求

  导出常量getImg=(imgID)={

  退货请求({

  URL:"/API/fer choosed/getfer img ",

  方法:“得到”,

  响应类型:“blob”,

  参数:{

  imgID

  }

  })

  }

  4.Flask接收前端请求返回图片数据流

  imgID=request.args[imgID]

  如果imgID==无:

  返回输出(消息=该图片不存在)

  path=basedir /image/

  image _ data=open(OS。路径。join(路径, %s % imgID, rb ).阅读()

  响应=生成响应(图像数据)

  回应。标题[ Content-Type ]= image/png #返回的内容类型必须修改

  返回响应

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: