anjularjs微信企业号拍照,安卓正常,ios出现问题。
angularjs吧
全部回复
仅看楼主
level 1
var localImagesIds = []; //chooseImage返回的localIds
var serverId = []; //uploadImage返回的serverId
//微信拍照
function chooseImages() {
wx.chooseImage({
count: 9 - vm.files.length, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
localImagesIds = res.localIds;
if (localImagesIds.length == 0) {
alert('请先使用 chooseImage 接口选择图片');
return;
}
upload(localImagesIds);
},
fail: function (data) {
alert("失败")
}
});
}
function upload(localImagesIds) {
if (vm.files.length == 0) {
if (localImagesIds.length == 0) {
var reqData = {
media_id: serverId,
documentId: "0" //刚进去是没有docmentId
};
CheckService.uploadPhoto(reqData).success(function (data) {
vm.documentId = data.result.documentId;
vm.files = data.result.fileList;
serverId.length = 0; //清空之前上传的照片
}).error(function () {
alert(JSON.stringify(data));
})
}
} else {
if (localImagesIds.length == 0) {
var req = {
media_id: serverId,
documentId: vm.documentId
};
CheckService.uploadPhoto(req).success(function (data1) {
vm.documentId = data1.result.documentId;
for (var i = 0; i < data1.result.fileList.length; i++) {
vm.files.push(data1.result.fileList[i]);
}
serverId.length = 0; //清空之前上传的照片
}).error(function () {
alert(JSON.stringify(data1));
})
}
}
var localId = localImagesIds[0];
//解决IOS无法上传的坑
if (localId.indexOf("wxlocalresource") != -1) {
localId = localId.replace("wxlocalresource", "wxLocalResource");
}
wx.uploadImage({
localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
serverId.push(res.serverId); // 返回图片的服务器端ID
localImagesIds.shift(); //把第一个元素删除并返回第一个元素的值
upload(localImagesIds);
},
fail: function (res) {
$.alert('上传失败,请重新上传!');
}
});
};
2017年09月11日 07点09分 1
1