收藏
回答

云开发环境中downloadfile 提示错误?

云开发的环境下

用于登录的一段小程序,获取了用户头像临时本地地址后,上传云端,然后下载到本地。

在本地模拟器上测试正常,但是预览时提示错误:

前端代码如下:

<!--pages/login/login.wxml-->
<view class="choose">
  <view class="chooseimg">请选择头像:</view>
  <button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
    <image class="avatar" src="{{avatarUrl}}"></image>
  </button>
</view>


<form catchsubmit="formsubmit">
  <view class="choose">
    <view class="choosename">请输入昵称:</view>
    <input type="nickname" class="name-input" name='input' bindinput="formInputChange"/>
  </view>
  <button type="primary" class="login" form-type="submit">登录</button>
</form>


处理的代码如下:

  formsubmit(e){
    // 将输入的昵称更新
    this.setData({
      name: e.detail.value.input
    })
    let that = this


    // 根据临时的头像地址,下载到本地
    //拿到本地的临时地址后,上传到云存储
    //将头像的云存储地址赋值给userphoto
    //新增用户信息到数据库表中
    wx.downloadFile({
      urlthis.data.avatarUrl,
      successres => {
        console.log("开始下载头像文件")
        let filetmppath = res.tempFilePath
        wx.cloud.uploadFile({
          cloudPath: (new Date()).valueOf() + '.png',
          filePath: filetmppath
        }).then( res => {
          console.log("上传头像成功")
          that.setData({
            userphoto: res.fileID
          })
          that.localStorageUserInfo()
          that.adduser()
        })
      }
    })


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

1 个回答

  • 跨商通
    跨商通
    2022-10-28

    1、全过程,用不到下载。自查逻辑吧。

    2022-10-28
    有用
    回复 3
    • 风华三毛
      风华三毛
      2022-10-28
      现在的逻辑是获取头像的临时地址后先下载到本地,然后下载后的本地存储地址上传云端存储头像图片,本地调试确实没有问题,预览就不行了
      2022-10-28
      回复
    • 跨商通
      跨商通
      2022-10-28回复风华三毛
      chooseavatar的返回结果里。图片已经在本地了,你直接上传到云端即可,不需要下载。
      2022-10-28
      1
      回复
    • 风华三毛
      风华三毛
      2022-10-28回复跨商通
      把下载的过程删掉了,只用上传,现在确实可以了。之前想复杂了。非常感谢您的回复
      2022-10-28
      回复
登录 后发表内容