收藏
回答

头像昵称填写,得到的url是长期有效的吗?

目前出现的问题是


1.这个api拿到的地址: http://tmp/dECq0CnryCVxf349bbe5a18ed854ec40f14c0b68cf69.jpeg 这个地址是永久的吗?,

能否存到数据库里面,作为用户的头像来使用?

2.我小程序里面这个头像加载不出来,是什么原因呢?


正常是这样的:



补充一下: 目前是没法区分我是选的微信头像,还是选的从相册上传,还是照相,下面这个是我打印的数据.


2022-11-11: 解决方案参考下面链接地址:

https://developers.weixin.qq.com/community/develop/article/doc/000666b2094e38f60c7ea4e4156813

最后一次编辑于  2022-11-10
回答关注问题邀请回答
收藏

4 个回答

  • 茜茜又困了🐽
    茜茜又困了🐽
    2022-08-23

    wx.uploadFile()

    2022-08-23
    有用 2
    回复 6
    • 你是人间四月天
      你是人间四月天
      2022-08-23
      现在这个api的 选择图片和照相 拿到的都是那个临时url, 我没法加wx.uploadFile() 操作. 请问你们是怎么操作的呢?
      2022-08-23
      1
      回复
    • 茜茜又困了🐽
      茜茜又困了🐽
      2022-08-23回复你是人间四月天
      我还没改,既然能拿到url,就能作为filePath字段上传啊
      2022-08-23
      回复
    • 你是人间四月天
      你是人间四月天
      2022-08-23
      大概明白了, 意思得把这个url上传到服务器上,然后重新拿个url来做永久得头像地址嘛.
      2022-08-23
      回复
    • 你是人间四月天
      你是人间四月天
      2022-08-23
      多谢解答!
      2022-08-23
      回复
    • 茜茜又困了🐽
      茜茜又困了🐽
      2022-08-23回复你是人间四月天
      嗯嗯 对
      2022-08-23
      回复
    查看更多(1)
  • Hlxuan.
    Hlxuan.
    2022-08-23

    获取到的是临时路径。需要你将图片上传至服务器,才能长期有效。

    可以参考一下:

    <button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"></button>
    
    onChooseAvatar(e) {
        const { avatarUrl } = e.detail 
        wx.uploadFile({
          url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
          filePath: avatarUrl,
          name: 'file',
          formData: {
            'user': 'test' // 仅为示例
          },
          success (res){
            const data = res.data
            //do something
          }
        })
      }
    


    2022-08-23
    有用 2
    回复 6
    • 你是人间四月天
      你是人间四月天
      2022-08-23
      这哈改版后得到的就是这个临时的路径啊,我存服务器也只能存这个临时路径. 之前没有改版之前,还能拿到文件的路径,然后把文件传到七牛云,再把得到的链接存到自己服务器.这哈不晓得应该怎么走这个流程了.
      2022-08-23
      1
      回复
    • Hlxuan.
      Hlxuan.
      2022-08-23回复你是人间四月天
      就是多了一步,把临时路径的图片上传到服务器,然后在数据库存这个上传到服务器的链接。
      2022-08-23
      回复
    • 你是人间四月天
      你是人间四月天
      2022-08-23
      好的 我明白了,相当于还是要把这个临时地址传到文件服务器上面,再重新拿到一个文件服务器的地址.这样的意思吗?
      2022-08-23
      回复
    • Hlxuan.
      Hlxuan.
      2022-08-23回复你是人间四月天
      是的
      2022-08-23
      回复
    • 你是人间四月天
      你是人间四月天
      2022-08-23
      多谢解答!
      2022-08-23
      回复
    查看更多(1)
  • 宇尘
    宇尘
    2023-01-14
    wx.uploadFile({
          url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
          filePath: avatarUrl, //临时地址(可以理解为本地文件目录(微信本地文件存储路径/tmp/xxx.jpg),仅在微信小程序内生效),服务端接收的是文件的二进制数据(非avatarUrl对应的字符串值,与普通文件上传一致)
          name: 'file',
          formData: {
            'user': 'test' // 仅为示例
          },
          success (res){
            const data = res.data
            //do something
          }
        })
    


    2023-01-14
    有用 1
    回复
  • Leon
    Leon
    2022-10-15
    .uploadFile这个方法中,filePath参数是要本地的路径,现在获得的临时路径是网络路径,可以直接传吗?
    
    2022-10-15
    有用
    回复 1
登录 后发表内容