element ui的照片墙 默认显示照片

摘要:
参考地址:elementui的照片墙默认显示照片。显示的照片的数据格式为:[{name:“”,url:“”}],:file list=“”默认图像。在实际项目开发中,需要解决两个问题:① 从后端返回的二进制数据被处理成由前图像识别的base64格式;② 如果从后端返回的数据不为空,将显示图片并隐藏上载按钮。只有在删除显示的图片后才能继续上载①: 有关处理方法,请参阅front imageBuffer设置

参考地址: element ui的照片墙 默认显示照片

照片显示的数据格式是:[{name: '', url: ''}],:file-list=""默认显示的图片

实际项目开发中需要处理两个问题:① 从后端返回的二进制数据处理为前端image可识别的base64格式; ② 如果从后端返回的数据不为空,那么显示图片,并且隐藏上传按钮,只有当删除展示的图片后才可继续上传

element ui的照片墙 默认显示照片第1张

问题①:处理方式可参照:前端imageBuffer设置图片src(后端返回二进制流图片)

 问题②:处理方式如下:

// 页面架构
<tr>
    <td>项目截图:</td>
    <td>
        <el-upload action="" :  :http-request="uploadScreenShot" list-type="picture-card" :before-upload="isPic" :on-preview="handlePictureCardPreview" :on-remove="screenShotRemove" :on-change="screenShotChange" :limit="1" :file-list="dialogImageUrlArray">
            <i class="el-icon-plus"></i>
        </el-upload>
        <el-dialog :visible.sync="dialogVisible">
            <img   :src="http://t.zoukankan.com/dialogImageUrl" alt="">
        </el-dialog>
    </td>
</tr>
data() {
  return {
        projectScreenShot: [],                              // 项目截图 - 用于存储url
        dialogImageUrl: '',                                 // 项目截图 - 图片的url
        dialogImageUrlArray: [{ url: '' }],                 // 项目截图 - 图片的url
        hideUpload: false,                                  // 项目截图:是否隐藏上传按钮
        dialogVisible: false,   
    }  
}


如果限制只能上传1张图片,且图片上传成功后隐藏上传按钮,需要设置以下几个属性: :on-preview = ''、:on-remove =  ''、:on-change=''

// 项目截图:点击'放大'按钮,可以放大图片(点击文件列表中已上传的文件时的钩子)
handlePictureCardPreview(file) {
    this.dialogImageUrl = file.url;
    this.dialogVisible = true;
},
// 项目截图:删除上传文件on-remove事件(文件列表移除文件时的钩子)
screenShotRemove(file, fileList) {
    this.hideUpload = fileList >= 1;        // 上传的项目截图 < 1时,显示上传按钮
},
// 项目截图:上传文件on-change事件(文件上传时的钩子)
screenShotChange(file, fileList) {
    this.hideUpload = fileList.length >= 1; // 上传的项目截图 >= 1时,隐藏上传按钮
},

处理从后端返回的二进制数据,并把处理好的路径赋值给 this.dialogImageUrlArray[0].url ,隐藏上传按钮

// 获取'项目截图'的url
                        this.$http({
                            url: this.$http.adornUrl('/web/showimgFile'),
                            method: 'get',
                            responseType: "arraybuffer",
                            params: this.$http.adornParams({
                                'url' : infoModel.projectIndexUrl
                            })
                        }).then(({ data }) => {
                            let bytes = new Uint8Array(data);
                            let storeData = "";
                            let len = bytes.byteLength;
                            for (let i = 0; i < len; i++) {
                              storeData += String.fromCharCode(bytes[i]);
                            }
                            this.dialogImageUrlArray[0].url = "data:image/png;base64," + window.btoa(storeData);
                            this.screenShotChange('', this.dialogImageUrlArray);    // 隐藏上传按钮
});

免责声明:文章转载自《element ui的照片墙 默认显示照片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇android 检查网络连接状态实现步骤贪心整理&amp;amp;一本通1431:钓鱼——题解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

转载:Android应用的自动更新模块

软件的自动更新一般都与Splash界面绑定在一起, 由于需要维护的软件界面很复杂, 一个Activity中嵌入ViewPager, 并且逻辑比较复杂, 索性重新写一个Activity, 现在的软件都很流行使用Splash界面, 正好与自动更新配套在一起; 在这个自动更新Splash中, 使用到了 动画设置 ,SharedPerference ,pull解析...

通过wireshark获取应用接口并使用爬虫爬取网站数据(二)

接上文 找到接口之后连续查看了几个图片,结果发现图片都很小,于是用手机下载了一个用wireshark查看了一下url 之前接口的是 imges_min下载的时候变成了images soga,知道之后立马试了一下 果然有效, 但是总不能一个一个的查看下载吧 于是连夜写了个java爬虫 下面是代码 packagecom.feng.main; importj...

js批量下载文件

​关于兼容性问题:  <a href="http://t.zoukankan.com/xxx.docx" target='_blank'></a>  下载文件时,这种写法是没有兼容性问题;但是下载图片时,IE 上会出现当前页面直接打开图片的问题,即便是加了 target='_blank'。单个文件批量下载方法一:H5 <a&g...

一、简单的http抓包(微信公众网页登录模拟)

一、准备工具:系统:XP 浏览器:IE8 抓包工具:HttpWatch(它可以查看url请求的数据包) 二、抓包思路: 浏览器上的任何获取数据的方式都符合http协议的请求,只要发送符合要求的数据就可以模拟任何操作,所以抓包重点就要找出服务器需要的数据,例如:模拟登录的话,就是找出那个是用户字段,密码字段,验证码字段,获取有需要的Cookie字段等信息...

Selenium2+python自动化37-爬页面源码(page_source)【转载】

前言 有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。 selenium的page_source方法很少有人用到,小编最近看api不小心发现这个方法,于是突发奇想,这里结合python的re模块用正则表达式爬出页面上所有的url地址,可以批量请求页面...

细说 Form (表单)

细说 Form (表单) 阅读目录 开始 简单的表单,简单的处理方式 表单提交,成功控件 多提交按钮的表单 上传文件的表单 MVC Controller中多个自定义类型的传入参数 F5刷新问题并不是WebForms的错 以Ajax方式提交整个表单 以Ajax方式提交部分表单 使用JQuery,就不要再拼URL了! id, name 有什么关系 使用C#...