当前位置: 首页 > news >正文

住房和城乡建设网站 上海高端品牌网站建设

住房和城乡建设网站 上海,高端品牌网站建设,自己做的网站怎么发布视频教程,二级域名是什么意思项目采用uniapp与uview2.0组件库 --1.0的也可以参考一下#xff0c;大差不差 一、项目要求与样式图 点击上传n张图片到oss#xff0c;然后点击提交给后端 二、思路 1、打开上传按钮#xff0c;弹出框内出现上传图片和提交按钮 2、点击上传图片区域#xff0c;打开本地图…项目采用uniapp与uview2.0组件库 --1.0的也可以参考一下大差不差 一、项目要求与样式图 点击上传n张图片到oss然后点击提交给后端 二、思路 1、打开上传按钮弹出框内出现上传图片和提交按钮 2、点击上传图片区域打开本地图片或者调用相机。上传到oss拿到返回的图片url和本地的url地址。可以进行预览删除。再点击提交将选取好的图片地址发送给后端就ok了 一点特别注意上传接口的方法一定要是POST问就是小程序规定 三、代码区域 viewu-upload :fileListfileList1 multiple afterReadafterRead1 deletedeletePic1 name1 :maxCount3 width175 height175 /u-upload//相关参数与公式去看view2的官方文档我就不一一简绍了viewbutton classUpstatebtn typedefault clickUpdateStatus提交/button/view /view//data参数 //fileList1: [], //上传图片接受数组 //img1: [], //当前图片数组 因为使用方便就直接复制的官网案例 关键代码在添加图片后上传的两个数组处理和本地地址还有在线图片地址 /*** func 删除图片* */deletePic1(event) {this[fileList${event.name}].splice(event.index, 1)var arry []this.fileList1.filter((v, i) {arry.push(v.url)})this.img1 arryconsole.log(this.img1, 1);},/*** func 新增图片上传 读取后的处理函数* */async afterRead1(event) {// 当设置 mutiple 为 true 时, file 为数组格式否则为对象格式let lists [].concat(event.file)console.log(list,lists);let fileListLen this[fileList${event.name}].lengthlists.map((item) {this[fileList${event.name}].push({...item,status: uploading,message: 上传中})})for (let i 0; i lists.length; i) {const result await this.uploadFilePromise1(lists[i].url)console.log(result是,result);let item this[fileList${event.name}][fileListLen]this[fileList${event.name}].splice(fileListLen, 1, Object.assign(item, {status: success,message: ,url: result[0]}))fileListLen}var arry []this.fileList1.filter((v, i) {console.log(每一个v是什么,v);arry.push(v.url)})this.img1 arryconsole.log(this.img1, 1);},/*** func 上传图片到oss,只提供files,后端完成上传* */uploadFilePromise1(url) {return new Promise((resolve, reject) {let a uni.uploadFile({url: ,//后端接口地址后端解决了oss相关密钥获取filePath: url,name: files,success: (res) {console.log(res.data); //这里使用JSON.parse是数据返回的问题需要进行转换官网是不需要进行转换的未了配合提交接口上传一个oss返回的图片列表数据console.log(JSON.parse(res.data));setTimeout(() {resolve(JSON.parse(res.data).data) //服务器返回图片带域名//服务器返回图片不带域名需要自己拼接域名 否则预览图片无法实现// resolve(服务器域名 JSON.parse(res.data).data)}, 1000)}});})},/*** func 上传图片地址给后台端修改状态* */UpdateStatus() {let params {id: this.Upid,fileList: this.img1}if (this.img1.length 0) {//后端需要的数据格式因为我自己循环时候做了调整不要要这个方法了。//后端要什么格式数据自己商定// params.fileList this.img1.reduce((arr, cur) arr.concat((cur), []))GetBudgetUpdate(params).then(res {if (res true) {//上传成功后清空params数据关闭弹框刷新列表提示成功this.img1 []this.taskList []this.page 1this.getBudgetList()this.showUp falseuni.showToast({title: 上传成功,icon: none,duration: 2000,})}})} else {uni.showToast({title: 至少需要上传一张交付物图片,icon: none,duration: 2000})}},/*** func 上传图片取消,弹框关闭* */closePup(){this.showUpfalsethis.img1[]this.fileList1[]this.Upid}, 四、遇到的问题和处理 第一次使用时候遇到一个问题是点击预览图片失败了因为我点击图片传递调用uview组件源码方法所传递的值类型不一样    url: result[0] 这一行代码卡了我这个菜鸡2天我一直认为数据格式没问题直接修改了下方的源码判断本来是url: result。直接添加了数组里的数组然后传值给后端img1数组时候 // params.fileList this.img1.reduce((arr, cur) arr.concat((cur), [])) const a [ [1],[2],[3],[4] ] //变成 const b [1,2,3,4]const b a .reduce((arr, cur) arr.concat((cur), [])); 嵌套数组合并回去了 for (let i 0; i lists.length; i) {const result await this.uploadFilePromise1(lists[i].url)console.log(result是,result);let item this[fileList${event.name}][fileListLen]this[fileList${event.name}].splice(fileListLen, 1, Object.assign(item, {status: success,message: ,url: result[0]}))fileListLen} uni.PreviewImage方法需要的是这样的数据格式拿里面的url地址或者thumb地址 // 预览图片onPreviewImage(item) {if (!item.isImage || !this.previewFullImage) returnuni.previewImage({// 先filter找出为图片的item再返回filter结果中的图片urlurls: this.lists.filter((item) this.accept image || uni.$u.test.image(item.url || item.thumb)).map((item) item.url || item.thumb),current: item.url || item.thumb,// urls: this.lists.filter((item) this.accept image || uni.$u.test.image(item.thumb || item.url)).map((item) item.thumb || item.url),current: item.thumb || item.url,fail() {uni.$u.toast(预览图片失败)},});}, 五--感谢  小李小李知书达理的思路与写法 借鉴的这个文章 uniapp利用uview2.0中的uploadFile组件实现多张图片的增删预览上传功能-CSDN博客
http://www.ho-use.cn/article/10815847.html

相关文章:

  • 天津网站建设设计费用凯里网站制作
  • 关于网站seo优化什么叫网站定位
  • vs能建设网站吗网页搜索快捷键
  • 网站建设英文怎么写crm和scrm有什么区别
  • 西宁做网站公司哪家好建设网站协议合同范本
  • 温州网站建设外包做网站需要找人优化吗
  • 网站开发分几种类型网站要做几个备案
  • wap网站有哪些全国建筑资质查询网站
  • 长沙做网站费用莱芜吧百度贴吧
  • 南昌做微信网站网上设计接单赚钱
  • 企业网站管理系统项目文档密云做网站的
  • 建设信息网站山西seo关键词优化软件搜索
  • 郴州网站建设专业定制网站的关键词推扩是怎样做
  • 东莞人才网站wordpress标签作用
  • 个体户可以做企业网站域名绑定wordpress
  • 宿迁市住房城乡建设局网站wordpress下不了插件吗
  • 怎样注册网站做销售产品设计考研
  • 做视频网站 服务器配置资源管理器
  • 四川手机网站建设云南照明网站建设
  • 南充做网站的做洗化的网站
  • 网站被挟持怎么办高校网站建设方案
  • 网站备案没有固定电话怀宁做网站
  • 四川建设厅网站怎么进不去仿木鱼网络网站
  • 网站外链平台的建设方法平台类型(至少5个)?南宁微信公众号开发
  • 网站建设借鉴凡科网站官网
  • 做转运网站做网站时需要FTP工具吗
  • 专业网站定制流程湖南住房与城乡建设厅网站
  • 网站推广的6个方法是什么中国核工业第五建设有限公司招聘信息
  • 汕头cms建站模板微信一键登录网站怎么做
  • php学校网站源码二手房交易注意事项