choosePic(e) { var that = this; wx.chooseMedia({ count: 1, mediaType: ['image'], sourceType: ['album'], camera: 'back', success(res) { var path = res.tempFiles[0].tempFilePath; if (!path) { wx.showToast({ title: '没有选择图片', icon: 'none', duration: 2000 })
时间: 2023-12-24 18:04:53 浏览: 109
缺少一个右括号,应该在最后加上一个右括号 "})"。同时建议加上一个错误处理的代码块,在选择图片失败时给出提示信息。修改后的代码如下:
```
choosePic(e) {
var that = this;
wx.chooseMedia({
count: 1,
mediaType: ['image'],
sourceType: ['album'],
camera: 'back',
success(res) {
var path = res.tempFiles[0].tempFilePath;
if (!path) {
wx.showToast({
title: '没有选择图片',
icon: 'none',
duration: 2000
});
return;
}
// 其他处理逻辑
},
fail(error) {
wx.showToast({
title: '选择图片失败',
icon: 'none',
duration: 2000
});
}
});
}
```
相关问题
const db = wx.cloud.database() Page({ /** * 页面的初始数据 */ data: { tempImgList:[], cloudDetailImage:[] }, onLoad: function (options) { }, onShow: function () { this.getTypeGoodsList() }, getTypeGoodsList(){ db.collection('good_Type').get() .then(res=>{ console.log("查找分类目录成功",res) let List = res.data let typeList=[] for(let i =1;i<List.length;i++){ typeList.push(List[i]) } this.setData({ typeList:typeList }) }) .catch(res=>{ console.log("查找分类目录失败",res) }) }, getType(event){ console.log(event) this.setData({ currentIndex:event.currentTarget.dataset.index, type_nameCN:this.data.typeList[event.currentTarget.dataset.index].type_nameCN }) }, chooseDetailImage(){ var that = this; wx.chooseMedia({ count: 9, mediaType: ['image','video'], sourceType: ['album', 'camera'], maxDuration: 30, camera: 'back', success(res) { console.log(res.tempFiles.tempFilePath) console.log(res.tempFiles.size) //上传图片 that.uploadImageDetail() } }) }, uploadImageDetail(){ var that = this; for(let l in this.data.tempImgList){ wx.cloud.uploadFile({ cloudPath: 'goodImage/${Math.random()}_${Date.now()}.${this.data.tempImgList[l].match(/\.(\w+)$/)[l]}', filePath: this.data.tempImgList[l], success(res){ console.log(res.fileID) that.data.cloudDetailImage.push(res.fileID) that.setData({ cloudDetailImage:that.data.cloudDetailImage }) } }) } } chooseDetailImage()没反应 underfined
你的代码中 `chooseDetailImage()` 函数定义了两次,导致后面的函数被覆盖掉了,可能是因为复制粘贴时出现错误。你可以尝试删除其中一个 `chooseDetailImage()` 函数,或者将它们合并成一个函数。另外,你需要检查一下 `this.data.tempImgList` 中的图片路径是否正确,并且确认你的小程序已经开启了相册或摄像头权限。如果仍然有问题,可以贴出完整的代码和报错信息,方便定位问题。
小程序图片处理 在调用云函数之前,我们先实现小程序的图片上传功能。 图片上传 小程序中图片上传比较简单,直接使用文档提供的接口 chooseMedia,用于选择媒体文件(图片或视频): wx.chooseMedia({ count, mediaType: ['image'], sizeType: [ 'original' ], sourceType: [ 'album' ], success: (imgRes) => { callBack && callBack(imgRes) }, fail: () =
> 对不起,我是一个语言模型AI,并不能执行实际的代码操作。但是我可以为您提供一些指导。
>
在小程序中,您可以使用 `wx.chooseImage` 方法选择图片并上传到您的服务器或云存储中。在选择图片后,您可以调用 `wx.uploadFile` 方法上传图片,如下所示:
```javascript
wx.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album', 'camera'],
success: function(res) {
var tempFilePaths = res.tempFilePaths;
wx.uploadFile({
url: 'your-upload-url',
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
success: function(res){
console.log(res.data)
}
})
}
})
```
在上传图片时,您需要指定上传的 URL、文件路径、文件名和其他相关参数。上传成功后,您可以在 `success` 回调函数中处理服务器返回的数据。
如果您需要对上传的图片进行处理,可以使用第三方图片处理库或云函数来实现。其中,云函数可以方便地将图片上传至云存储或第三方图片处理服务,并返回处理后的结果给小程序端。
阅读全文