前端:上传图片upload组件(传formData格式,后端返回图片文件流)

2023-11-16

使用组件:iview中的upload组件

html:

<Upload
                multiple
                type="drag"
                :action="''"
                :before-upload="uploadImg"
              >
                <div style="padding: 20px 0">
                  <Icon
                    type="ios-cloud-upload"
                    size="52"
                    style="color: #3399ff"
                  ></Icon>
                  <p>选择本地文件上传</p>
                </div>
              </Upload>

传递给后端的是formData格式的数据,后端返回的是图片的文件流(这其中调了两次接口,第一次接口返回的是图片的不完整路径,第二次调用查询接口返回图片的文件流)

js代码:

const uploadImg = (file) => {
  let fd = new FormData();
  fd.append("file", file);
  // 调用上传接口
  let path = proxy.GlobalUrl.ANALYSIS.UPLOADIMG;
  proxy.http.post(path, fd).then((res) => {
    if (res.data.code === 0) {
      queryImg(res.data.data);
    }
  });
};
// 查询工程图片
const queryImg = (url) => {
  let path = proxy.GlobalUrl.ANALYSIS.VIEWIMG;
  let params = {
    imageUrl: url,
  };
  proxy.http.get(path, params, "blob").then((res) => {
    if (res.status === 200) {
      let blob = res.data;
      let reader = new FileReader();
      reader.readAsDataURL(blob); // 转换为base64
      reader.onload = function () {
        formValidate.imgId = reader.result;
        state.imgURL = reader.result;
      };
    }
  });
};

第二个接口返回的文件流要转化为base64(可以直接放src属性里显示图片),转化时用到了FileReader,readAsDataURL()这个方法返回的是data:url形式的字符串。

base64格式的图片如下:

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端:上传图片upload组件(传formData格式,后端返回图片文件流) 的相关文章

随机推荐

  • Spring MVC拦截器和跨域请求

    一 拦截器简介 SpringMVC的拦截器 Interceptor 也是AOP思想的一种实现方式 它与Servlet的过滤器 Filter 功能类似 主要用于拦截用户的请求并做相应的处理 通常应用在权限验证 记录请求信息的日志 判断用户是否
  • easyui 获取并设置当前时间

    得到当前日期 formatterDate function date type var day date getDate gt 9 date getDate 0 date getDate var month date getMonth 1
  • Java基础复习之类与对象、封装、构造方法、String类

    个人觉得重点的部分会用彩色标出 面向对象思想 1 面向对象思想概述 面向过程思想 遇到一个问题 一步一步的去解决他 强调的是过程 典型代表语言是C语言 面向对象思想 遇到一个问题 找一个可以解决问题的对象 可以是人 也可以是别的 强调是对象
  • Windows7下IPV6设置方法详解

    Windows 7下配置IPV6的方法和Vista基本类似 需要注意的是 鉴于各个校园或其他场所的网络配置环境不同 如果按如下方法配置不成功可以进一步咨询相关网络管理人员 或重新选择连网客户端 下面来看具体的两个设置方法吧 步骤 方法 方法
  • %c与%s的区别与划分

    字符和字符串 c格式对应的是单个字符 s格式对应的是字符串 include
  • Elasticsearch Split和shrink API

    背景 尝试解决如下问题 单分片存在过多文档 超过lucene限制 分析 1 一般为日志数据或者OLAP数据 直接删除索引重建 2 尝试保留索引 生成新索引 数据写入新索引 查询时候包含 old index new index 3 尝试spl
  • 2023年第十四届蓝桥杯大赛python组省赛真题(已更新完)

    本篇更新蓝桥杯省赛真题的后5道 6 试题 F 公因数匹配 时间限制 10 0s 内存限制 512 0MB 本题总分 15 分 问题描述 给定 n 个正整数 Ai 请找出两个数 i j 使得 i lt j 且 Ai 和 Aj 存在大于 1 的
  • 线程(Linux系统实现)

    目录 1 线程概述 2 主线程和子线程 3 创建线程 线程函数 创建线程示例 4 线程退出 线程退出的原理主要包括以下两个方面 5 线程回收 回收子线程数据 6 线程分离 7 线程取消 8 线程 ID 比较 1 线程概述 线程是轻量级的进程
  • SIFT特征简介

    过程 1 尺度空间建立及极值点搜索 初步搜索 2 关键点精确定位 直线拟合使得关键点精确定位 x y sigma 消除边缘响应 初步搜寻特征点后 得到特征点的层数 像素坐标 x y 方向 文中分为18或36个离散方向 1 SIFT算法具的特
  • python dict遍历性能,Python:遍历list vs over dict items效率

    这取决于您使用的是哪个版本的Python 在Python 2中 some dict items 创建一个新的列表 这将占用一些额外的时间并占用更多的内存 另一方面 一旦创建了列表 它就是一个列表 因此在完成列表创建的开销之后 应该具有相同的
  • 用户行为路径数据埋点方案设计案例

    用户行为路径数据埋点方案设计案例 案例背景 业务需要对用户行为进行数据分析 现缺失这部分数据 需要设计采集方案获取数据满足业务分析需求 定义 数据采集方案是为埋点所设计的采集方案 所谓埋点就是在产品 通常是网页 app 中需要提取数据的地方
  • 小程序上传线上地址文件

    web上传的时候可以使用new Blob 但是在小程序中不能使用 当时的文件还是二进制的文件流 小程序上传不能使用线上地址 后来想了很多办法 最后把文件流使用wx saveFile先保存到本地 拿到result savedFilePath的
  • FPGA基础知识点

    FPGA知识点 Verilog基础语法 基础知识 逻辑值 逻辑0 表示低电平 也就是对应电路GND 逻辑1 表示高电平 也就是对应电路VCC 逻辑X 表示未知 有可能是高电平也有可能是低电平 逻辑Z 表示高阻态 外部没有激励信号 是一个悬空
  • Docker第七回(私有Registry)

    一 Docker Registry的分类 Registry用来保存docker镜像 包括镜像的层次结构和元数据 用户可以自建Registry 也可以使用官方的docker hub Sponsor Registry 第三方的Registry
  • 如何解决fiddler抓包时出现443的问题

    之前公司的app使用的http协议 因此不需要安装证书也能够转包 后来改成https协议后 在使用fiddler进行抓包时 一直出现tunnel to 443 百度了好久也没有具体的解决办法 后来发现需要在手机端安装fiddler的证书才行
  • stylefeng 文档_基于SpringBoot+spring mvc+Mybatis+beetl+bootstrap实现的简洁开源网站后台管理系统Guns...

    package com stylefeng guns config import io swagger annotations ApiOperation import org springframework boot autoconfigu
  • 面经——嵌入式常见面试题总结100题(上)

    参考 嵌入式常见面试题总结 1 作者 天泉证道 发布时间 2018 11 08 09 33 43 网址 https guoyanzhang blog csdn net article details 83855895 目录 1 字符型驱动设
  • oracle nvl函数

    1 nul函数将一个null值转换为一个实际的值 数据类型可以是日期 数字 字符 数据类型必须匹配 nvl commision 0 nvl hiredate 01 JAN 87 nvl job id no manager nvl to ch
  • 西电机器学习简答题核心考点汇总(期末真题,教材西瓜书)

    文章目录 前言 一 机器学习和深度学习区别以及原因 二 卷积核 池化层作用 三 SVM转化为对偶问题的优点 四 核函数的作用 五 特征的相似度定义 性质 六 预剪枝与后剪枝优缺点 七 密度直接可达 密度可达 密度相连定义 八 DBSCAN相
  • 前端:上传图片upload组件(传formData格式,后端返回图片文件流)

    使用组件 iview中的upload组件 html