为了账号安全,请及时绑定邮箱和手机立即绑定

评论+评分=>可以上传到云数据库 图片单独=>可以上传到云存储 评论+评分+图片=>可以上传图片到云存储但是数据库没有任何记录

在线请求帮助

正在回答

2 回答

我也是,图片的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 () {


}

})


1 回复 有任何疑惑可以回复我~

评论分为两步,第一步是上传图片到云存储,第二部是上传数据到云数据库。请分别检查两个步骤,并查看调试器控制台中是否有错误信息。把错误截图出来能够更快的定位到问题。

0 回复 有任何疑惑可以回复我~
#1

qq_Shinesobrigh_0

已经解决,promise部分的问题,已经解决。
2019-08-02 回复 有任何疑惑可以回复我~
#2

weixin_慕虎8531678 回复 qq_Shinesobrigh_0

你好 你是怎么解决的呢
2019-08-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

评论+评分=>可以上传到云数据库 图片单独=>可以上传到云存储 评论+评分+图片=>可以上传图片到云存储但是数据库没有任何记录

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信