需要用到的API

action:服务器上传地址
max-count:最大选择图片的数量
form-data:上传额外携带的参数
name:上传文件的字段名,供后端获取使用

第一种:选择图片后,直接上传

<template><view class="index"><u-upload :show-progress="false":action="action" :form-data="formData" max-count="3" name="file"@on-uploaded="onUploaded"  @on-change="onChange"></u-upload></view>
</template>
<script>export default {data() {return {// 演示地址,请勿直接使用action: 'https://api.diandianhg.com/api/common/upload',formData: {access_token:uni.getStorageSync('access_token')},fileList: []}},methods:{// 上传成功onUploaded(res) {this.fileList = res;console.log(this.fileList);},// 无论成功失败都会触发onChange(res){let data = JSON.parse(res.data)if(data.code == 0){console.log(data)uni.showToast({icon:'none',title: data.msg,});}}}}
</script>

url: 图片地址
error:组件内部使用,不应根据此值判断上传是否成功,而应根据progress属性
progress:如果值为100,表示图片上传成功
response:上传成功后,服务器返回的数据,这是最有用的了

上传失败的情况提示,

碰到的BUG:
1、发布文章,需要上传图片(最多三张)
2、发布成功后,可以进行修改,需要把之前上传的的图片显示出来,这里用 fileList 数组存。

官方描述:

可以通过设置file-list参数(数组,元素为对象),显示预置的图片。其中元素的url属性为图片路径
<u-upload :show-progress="false" :action="action" :form-data="formData" max-count="3"name="file" :file-list="fileList" @on-uploaded="onUploaded" @on-remove="onRemove">
</u-upload><script>
// data中定义的两个数组:
fileList:[], // 显示默认的图片,以及修改后的图片集合
imgArr:[], // 未修改的图片集合
// 把之前上传过的图片,分别存入fileList和imgArr。
item.attaches.forEach((item, index) => {this.fileList.push({path:item.path})this.imgArr.push({url:this.$imgUrl+item.path,path:item.path})
})
onUploaded(res) {this.fileList = res;
},
// 删除
onRemove(e) {this.imgArr.splice(e, 1)
},let str = [];
let medias = [];
// 编辑内容
if(this.edit == 1){// 如果item.response && item.response.code == 1,说明已经进行了修改,把修改后的 重新上传的图片url 存入str。this.fileList.forEach(item=>{if(item.response && item.response.code == 1){str.push(item.response.data.url)}})// 如果未修改的图片没有删除完,就把未删除的图片也存入 str 。if(this.imgArr.length>0){this.imgArr.forEach(item=>{if(item.path){str.push(item.path)}})}
}
</script>

这里说下为什么不能直接要用两个数组存。
这是默认一进来,自己组合数据后的fileList

如果你修改了其中一张图片,数据格式会出现错误。

Upload 上传:图片上传相关推荐

  1. 对于 React 结合 Antd 的 Upload 组件实现图片上传

    一. React 结合 Antd 实现图片上传 引入所需相关的组件和文件,代码如下所示: import React, { Component } from 'react' import PropTyp ...

  2. 淘宝店铺上新图片上传获取请求方法

    淘宝上新图片上传获取请求方法如下: 1.请求方法:POST [支持高并发同时请求] 点击获取请求key和secret Headers: 参数名称 参数值 是否必须 示例 备注 Content-Type ...

  3. 文件上传(图片上传) 大小限制的配置 及注意点

    文件上传(图片上传) 设置 大小 注意点 //检查文件是否为空if (multipartFile.isEmpty()){return "文件为空";}//检查文件大小 209715 ...

  4. upload.js 文件图片上传

    //isImgControl:缩略图片大小是否控制 //isYin:是否加水印 var isImgtemp;function uploadImgControlAndYin(isControl){isI ...

  5. upload组件实现图片上传,图片上传,上传图片,上传头像,批量上传图片前后端逻辑

    1.主要使用el-ui的upload组件.代码如下,最主要的就是将上传的文件转化为当前的url显示在页面 主要代码如下,基于vue的: <template><div><e ...

  6. html input type=file 文件上传; 图片上传; 图片闪烁

    (1)input file 对话框和 获取选中文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  7. h5 ajax php 图片上传,图片上传生成海报H5技术详解

    我想很多经常做H5同学都会遇到过让用户上传照片的这种需求,那我这里给大家分享一些我常用的一些方法~废话不多时候,下面可以写一些干货,如果有更好的方法欢迎留言讨论! 首先,需要准备一些需要用到的东西. ...

  8. java 图片上传非jsp_java问题用java代码在后台如何将jsp页面上的图片上传(是 爱问知识人...

    先到apache官方下载common-upload组件 上传 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 上传初始化 iti ...

  9. restapi如何传图片_iPhone传照片,不是只能用微信QQ,第二种方法很少人知道哦

    有时候我们出去high完,会有小伙伴想要你拍的照片,这时候我们大部分人都会习惯用QQ.微信传送.但是微信只能一次传九张,照片多了得分几次发送.今天教大家两种别的传照片方法,第二种知道的人不多哦. 1. ...

  10. antd 图片上传遇到的坑----图片回显(Upload)

    antd 图片上传遇到的坑----图片回显(Upload) 最近又被安排了一个前端的项目,遇到了一个图片上传的问题,用的是antd的Upload组件,在这遇到的问题和大家分享一下,下网可以帮到需要的人 ...

最新文章

  1. 火热的激情、严密的计划成就双冠梦想——我的项管经验(转载)
  2. snort create_mysql_入侵检测系统Snort+Base安装
  3. php utf8格式显示中文,php截取中文字符(utf-8格式)的函数
  4. SharePoint2013 备份还原
  5. python 预测 位置_Python:核岭回归预测,KRR
  6. linux pgpgin pgpgout pswpin pswpout 说明
  7. BZOJ.4500.矩阵(差分约束 SPFA判负环 / 带权并查集)
  8. 阿里云视频直播PHP-SDK接入教程
  9. java 生成二维码,带logo,底部文字
  10. osgb转json_cesuim加载倾斜摄影OSGB三维数据
  11. 世界所有国家国际域名英文缩写总结(转)
  12. 3D打印是什么?如何工作的?
  13. Android飞机大战游戏报告,基于android的飞机大战游戏设计与开发.doc
  14. 一种很轻松的Excel关键字方式进行网页Web自动化测试(Java+Selenium+TestNG+Excel)
  15. 将图片表情转化成emoji字体
  16. Vue-报错1(命名规范)
  17. 信号完整性(SI)电源完整性(PI)学习笔记(二十八)S参数在信号完整性中的应用(三)
  18. 2019强网杯 - 密码学-RSA-Coppersmith
  19. 统计学(五):几种常见的假设检验
  20. 生命中最重要的两个日子,一个是你出生,一个是你发现自己为什么而生

热门文章

  1. Mongodb本机部署副本集
  2. RPC服务器不可用解决方法汇集
  3. 虚拟内存(分页机制)
  4. 腾讯与360之间引起的反思
  5. 计算当前时间距离元年一月一日的总天数,并显示现在是星期几
  6. 6691. 【2020.06.05省选模拟】六道剑「一念无量劫」
  7. 冯端:漫谈物理学的过去、现在与未来
  8. 基于VU9P+C6678 的 4 路 FMC 接口基带信号处理板(支持 8 路 1G 瞬时带宽 AD+DA)
  9. Material Design的基础知识
  10. php服务器文件直链,比较简单的百度网盘文件直链PHP代码