收藏
回答

云开发上传照片如何实现照片组上传?

目前是只能单次上传,多次上传不行,请教一下问题出自哪?

js:
 //选择上传图片
 upload(){
  let that=this;
        wx.chooseImage({
            count4//默认9
            sizeType: ['original''compressed'], //可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album'], //从相册选择
            success(res) => {
                if (this.data.wxzpsc.length != 0) {
                    this.setData({
                        wxzpscthis.data.wxzpsc.concat(res.tempFilePaths)
                    })
                } else {
                    this.setData({
                        wxzpsc: res.tempFilePaths
                    })
                }
                that.addBtn(res.tempFilePaths[0]);
            }
        });
},
 //提交表单添加到数据库
 addBtnfunction(e){
  let that=this;
  if(that.data.wxzpsc.length > 0){//1、判断是否有图片
    that.setData({
      //3、给上传图片初始化一个长度,上传成功的数组和已有的数组一致
      images_success:that.data.wxzpsc
    })
    that.uploadImage(0)//2、有图片时先上传第一张
    }
   
    
 },


 uploadImage:function(index){
  let that=this
    wx.cloud.uploadFile({//上传至微信云存储
      cloudPath:'wxzpsc/' + new Date().getTime() + "_" +  Math.floor(Math.random()*1000) + ".jpg",//使用时间戳加随机数给图片命名
      filePath:that.data.wxzpsc[index],// 本地文件路径
      successres => {
        // 返回文件 ID
        console.log("上传成功",res.fileID)
        that.data.images_success[index] = res.fileID;
        that.data.images_success_size = that.data.images_success_size+1;


        if(that.data.images_success_size == that.data.wxzpsc.length){
          console.log("上传成功:", that.data.images_success)
        } else {
          that.uploadImage(index+1)
        }
      },
      failerr =>{
        that.setData({
          images_success:[],
          images_success_size:0
        })
        wx.showToast({
          icon:'none',
          title'上传失败,请重新上传',
        })
      }
    })


},
回答关注问题邀请回答
收藏

3 个回答

  • dreamhunter
    dreamhunter
    2022-06-30

    从文档说明上看,只能一个一个传。数组上传 需要自己写对应方法处理

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/storage/uploadFile/client.uploadFile.html

    2022-06-30
    有用
    回复 1
    • 
      
      2022-06-30
      你好,感谢你的回答,目前是 that.data.images_success[index] = res.fileID; 改为 that.data.images_success[res.fileID] = res.fileID; 这样就有增加组的一个效果,不知如何解决,或者你这边有相关的上传照片的代码片段能提供参考吗?
      2022-06-30
      回复
  • 
    
    2022-06-30

    有没有大佬能直接告知怎么改呀?上传要成数组上传

    2022-06-30
    有用
    回复
  • 茜茜又困了🐽
    茜茜又困了🐽
    2022-06-30

    认真的吗?

    2022-06-30
    有用
    回复 4
    • 
      
      发表于移动端
      2022-06-30
      找的码,不是很理解它上传这个
      2022-06-30
      回复
    • 
      
      2022-06-30
      你好,请问应该怎么修正呢?
      2022-06-30
      回复
    • 茜茜又困了🐽
      茜茜又困了🐽
      2022-06-30回复
      遍历这个数据 that.data.wxzpsc,在循环体内部分别上传item
      2022-06-30
      回复
    • 
      
      2022-06-30回复茜茜又困了🐽
      好像没成功,变分散上传了
      2022-06-30
      回复
登录 后发表内容