华为P9手机,小程序调用摄像头拍照-->确定-->完成。点击图片右上方的 完成 按钮后,有时能直接成功上传;有时会跳转到图片预览页面,这时再选择刚才拍摄的照片,点击右上方的 完成 按钮会直接闪退。如果不拍照,直接在预览页选择图片上传,则不会出现闪退。



代码如下:

wx.chooseImage({

count: 1,  //最多可以选择的图片总数  

sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有  

sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  

success: function (res) {

// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片  

var tempFilePaths = res.tempFilePaths;

//启动上传等待中...  

wx.showToast({

title: '正在上传...',

icon: 'loading',

mask: true,

duration: 10000

})

var uploadImgCount = 0;

for (var i = 0, h = tempFilePaths.length; i < h; i++) {

wx.uploadFile({

url: webUrl + '/uploadImg.html',

filePath: tempFilePaths[uploadImgCount],

name: 'file',

formData: {

'imgIndex': uploadImgCount,

'picName': picName,

'oper_id': oepr_id,

'pic_id': pic_id,

'pic_type': 6,

'pic_name': pic_name,

'pic_name2': pic_name2,

'pic_module': pic_module

},

header: {

"Content-Type": "multipart/form-data"

},

success: res => {

uploadImgCount++;

var data = JSON.parse(res.data);

//如果是最后一张,则隐藏等待中  

if (uploadImgCount == tempFilePaths.length) {

wx.hideToast();

}

if (data.success == 'true') {

//服务器返回格式: { "Catalog": "testFolder", "FileName": "1.jpg", "Url": "https://test.com/1.jpg" }  

var real_img = data.real_img;

var pic_id = data.pic_id;

} else {

wx.showToast({

title: data.msg,

icon: 'none'

})

}

},

fail: function (res) {

wx.hideToast();

wx.showModal({

title: '错误提示',

content: '上传图片失败',

showCancel: false,

success: function (res) { }

})

}

});

}

}

});


展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • LiyaLiya

    4人对此回答表示赞同

    机型:华为p9微信版本:6.7.2代码片段:wechatide://minicode/1NOy1pmZ7E2o

    展开
    4
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部