在线请求帮助
我也是,图片的fileIds上传数据库没有,云存储那边是有图片的。
const db = wx.cloud.database(); // 初始化数据库
// pages/comment/comment.js
Page({
/**
* 页面的初始数据
*/
data: {
detail: {},
movieId: -1,
content: "",
score: 0,
images: [],
pic: []
},
//评价
onContentChange: function(event) {
this.setData({
content: event.detail
})
},
//评分
onScoreChange: function (event) {
this.setData({
score: event.detail
})
},
//上传图片
uploadImg: function() {
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: res => {
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFilePaths;
this.setData({
images: this.data.images.concat(tempFilePaths)
})
}
})
},
submit:function() {
wx.showLoading({
title: '评论中',
});
let promiseArr = [];
for(let i = 0;i< this.data.images.length;i++) {
promiseArr.push(new Promise((reslove, reject) => {
let item = this.data.images[i];
let suffix = /\.\w+$/.exec(item)[0];//返回文件拓展名
wx.cloud.uploadFile({
cloudPath: new Date().getTime() + suffix, // 上传至云端的路径
filePath: this.data.images[i], // 小程序临时文件路径
success: res => {
// 返回文件 ID
console.log(res.fileID)
this.setData({
pic: this.data.pic.concat(res.fileID),
});
console.log(this.data.pic);
reslove();
},
fail: console.error,
})
})
)
};
Promise.all(promiseArr).then(res => {
// 插入数据
db.collection('comment').add({
data: {
content: this.data.content,
score: this.data.score,
movieid: this.data.movieId,
pic: this.data.pic
}
}).then(res => {
wx.hideLoading();
wx.showToast({
title: '评价成功',
})
}).catch(err => {
wx.hideLoading();
wx.showToast({
title: '评价失败',
})
})
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options);
this.setData({
movieId: options.movieid
});
wx.showLoading({
title: '加载中',
})
//console.log(options);
wx.cloud.callFunction({
name: 'getDetail',
data: {
movieid: options.movieid
}
}).then(res => {
// console.log(res);
this.setData({
detail: JSON.parse(res.result)
});
wx.hideLoading();
}).catch(err => {
console.error(err);
wx.hideLoading();
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
评论分为两步,第一步是上传图片到云存储,第二部是上传数据到云数据库。请分别检查两个步骤,并查看调试器控制台中是否有错误信息。把错误截图出来能够更快的定位到问题。