微信小程序 上传图的功能
首先选择图片,然后循环,再就是在点击发布的时候循环图片地址赋值,包括删除命令

js代码:
//选择图片
uploadImgAdd: function(e) {
var imgs = this.data.imgs;
console.log(imgs)
wx.chooseImage({
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: (res) => {
console.log(res)
let tempFilePaths = res.tempFilePaths;
let imgs = this.data.imgs;
console.log('imgs')
console.log(imgs)
//上传的图片
for (var i = 0; i < tempFilePaths.length; i++) {
if (imgs.length >= 9) {
return false;
} else {
imgs.push(tempFilePaths[i])
}
}
//上传的图片放到页面上
this.setData({
imgs: imgs
})
}
})
}, /**
* 获取上传图片地址
*/
//单击发布上传图片和内容
bindFormSubmit: function(e) {
var imgArr = this.data.imgs;
this.addPic(e, imgArr)
},
addPic: function(e, imgArr) {
console.log("imgArr")
console.log(imgArr) let uploadimagsSrc = this.data.uploadimagsSrc;
console.log("uploadimagsSrc")
console.log(uploadimagsSrc)
for (let i in imgArr) {
wx.uploadFile({
url: app.data.urls + 'images/Picture',
filePath: imgArr[i],
header: {
'content-type': 'multipart/form-data'
},
name: 'file',
success: res => {
console.log(res)
let data = res.data;
console.log(data)
console.log([...uploadimagsSrc, data])
uploadimagsSrc = [...uploadimagsSrc, data];
console.log(uploadimagsSrc)
this.setData({
uploadimagsSrc: uploadimagsSrc
})
},
})
} let timer = setInterval(() => {
//间歇调用
if (uploadimagsSrc.length == imgArr.length) {
console.log(uploadimagsSrc)
console.log(imgArr)
debugger
this.sendMessageInfo(e, uploadimagsSrc);
clearInterval(timer); //可取消由 setInterval() 函数设定的定时执行操作
}
}, 500)
},
sendMessageInfo: function(e, imagsSrc) {
var formData = e.detail.value.message
if (formData.length == 0) {
wx.showToast({
title: '意见反馈内容不能为空,说几句话吧~',
icon: 'none',
duration: 1500
})
return false;
}
var replaceLeftRig = formData.replace(/(^\s*)|(\s*$)/g, "").length
if (replaceLeftRig < 15) {
wx.showToast({
title: '意见反馈内容不能少于15个字',
icon: 'none',
duration: 1500
})
return false;
}
imagsSrc = imagsSrc.join(';')
wx.request({
url: app.data.urls + 'feedback/insertCustomerFeedback',
data: {
"customerId": app.data.customerId,
"feedbackMessages": formData,
"imagesAddress": imagsSrc,
},
method: "POST",
header: {
'content-type': 'application/json' // 默认值
},
success: function(res) {
console.log(res)
/**
*
* 异常判断
*
*
*/
if (res.data.status == 200) {
wx.showModal({
content: '谢谢您提交的反馈,后台的小哥哥会第一时间收到哦~',
showCancel: false,
confirmText: "知道了",
success: function(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
})
}
}
});
} else {
wx.showModal({
content: '系统繁忙',
showCancel: false,
confirmText: "知道了",
success: res => {
console.log(res)
}
});
} }
})
}, //删除图片
uploadImgClose: function(e) {
var imgs = this.data.imgs;
var index = e.currentTarget.dataset.index;
imgs.splice(index, 1);
this.setData({
imgs: imgs
});
// console.log(imgs)
}, feedBack/feedBack
微信小程序 上传图的功能的更多相关文章
- 微信小程序上传Excel文本文件功能
问题: 在开发过程中会发现微信小程序有很多功能都还不能满足我们的需求,谁叫客户就是上帝呢,前几天小编遇到了这么个问题,就是用微信小程序上传文件,但是还以为微信带有这个模块,可是查了许久还是没有找到,只 ...
- 微信小程序上传多张图片,及php后台处理
微信小程序上传多张图片,级小程序页面布局直接来代码index.wxml <view class='body' style='width:{{windowWidth}}px;height:{{wi ...
- 微信小程序上传与下载文件
需要准备的工作: ①.建立微信小程序工程,编写以下代码. ②.通过IDE建立springboot+web工程,编写接收文件以及提供下载文件的方式,并将上传的文件相关信息记录在mysql数据库中.具体请 ...
- 微信小程序上传后发布或者体验版测试无数据解决办法
在做微信小程序开发的过程中,发现小程序在本地调用接口的数据都显示,但是上传之后,发现手机体验没有数据.以下为解决办法: 1.先清除缓存试试. 2.打开微信小程序工具右上角的详情——项目设置,将“不校验 ...
- Taro 微信小程序 上传文件到minio
小程序前端上传文件不建议直接引用minio的js npm包,一来是这个包本身较大,会影响小程序的体积,二来是ak sk需要放到前端存储,不够安全,因此建议通过请求后端拿到签名数据后上传. 由于小程序的 ...
- 微信小程序-上传照片-多张显示
图片就是一个简单的效果 实现 先看wxml和wxss代码 <view class='in-demand'> <view class='dema-title'> <text ...
- 微信小程序上传文件遇到的坑
在开发小程序时,使用的花生壳做的内网映射,域名使用花生壳卖的https域名 在做小程序文件上传时,调用接口,老是报错. Caused by: org.apache.commons.fileupload ...
- 微信小程序-上传下载
wx.uploadFile(OBJECT) 上传 将本地资源上传到开发者服务器.如页面通过 wx.chooseImage(图片)/wx.chooseVideo(视频) 等接口获取到一个本地资源的临时文 ...
- 微信小程序上传一或多张图片
一.要点 1.选取图片 wx.chooseImage({ sizeType: [], // original 原图,compressed 压缩图,默认二者都有 sourceType: [], // a ...
随机推荐
- Jquery 过滤器(first,last,not,even,odd)的使用和区别
Jquery 过滤器主要有first,last,not,even,odd等等,它们分别表示: 代码如下: $(function(){ $("#menu li:first").cli ...
- CF 949C Data Center Maintenance_强联通分量_思维题
题意: 某土豪公司建立了n个数据中心,把m份资料每份在其中的两个数据中心备份. 每个数据中心在一天h个小时当中有一个小时需要维护,此时不提供资料下载服务. 现在土豪公司想要将其中若干个数据中心的维护时 ...
- 路飞学城Python-Day46
16-如何正确的使用类选择器及总结 一般情况下尽量不要去使用id选择器,因为id选择器有很大的限制性,id一般都是JS配合使用的,类选择器都是和CSS配合使用的,特殊性情况可以用id选择器. 类的使用 ...
- Oracle查询优化之减少统计的数据量
统计各部门人数很简单,通过部门分组即可,要统计部门以下下级部门的人数也简单,通过递归.要统计所有有下级部门的部门人数(包含下级)页比较简单, 先查询出有下级的部门,在对每个部门进行递归查询,如下: ) ...
- Vue文件封装日历组件
封装就是要具有灵活性,样式自适应,调用的时候传入props就可以变成自己想要的样式. 效果展示网址:https://1963331542.github.io/ 源代码: <template> ...
- laravel save() 返回 null
原因:引用其他方法时,没有 return save()的操作结果. 在使用save()方法时,发现返回值是:null:
- BZOJ 3524 [POI2014]KUR-Couriers (主席树)
题目大意:给你一个序列,求某个区间出现次数大于一半的数是什么 主席树裸题,刷刷水题提升自信= = #include <cstdio> #include <cstring> #i ...
- 【codeforces 500E】New Year Domino
[题目链接]:http://codeforces.com/problemset/problem/500/E [题意] 有n个多米诺骨牌; 你知道它们的长度; 然后问你,如果把第i骨牌往后推倒,然后要求 ...
- UML基础知识点
UML : unified Modeling Language 统一建模语言 1.对系统问题进行分析和建模 2.非专利的第三代建模和规约语言 3.UML是一种开放的方法.用于说明.可视化.构 ...
- 一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文
一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文. 2.注意看,一次HTTP请求,是包括这两部分的