收藏
回答

canvasToTempFilePath 转临时路径上传图片失败

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 canvasToTempFilePath、uploadFile 客户端 6.7.3 2.4.1

- 需求的场景描述(希望解决的问题)


安卓手机上,canvasToTempFilePath 转临时路径,用uploadFile上传图片,后端无法接受二进制流;

该临时路径转base64,无法解码成图片,转base64方法:

wx.getFileSystemManager().readFileSync(res.tempFilePath, 'base64')


- 希望提供的能力

求助大神


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

4 个回答

  • 禾店短剧系统
    禾店短剧系统
    2021-06-03

    采用了formData进行了提交,其中在base64转为file文件时,会遇到ios兼容问题,需要转为blob文件 进行上传。

    2021-06-03
    有用 1
    回复
  • Arvin
    Arvin
    2023-05-08

    后台应该是要求了 file 上传

    2023-05-08
    有用
    回复
  • 汪鸿
    汪鸿
    2020-07-07

    canvasToTempFilePath生成的临时路径,生成是有延时的,加200毫秒延时就差不多了,否则虽然生成了路径,但里面文件有时没生成完,你无法读取,我是这么理解的

    2020-07-07
    有用
    回复
  • 痛快科技
    痛快科技
    2018-12-07

        canvasToTempFilePath方法生成的临时路径直接传递到后台用就可以了,他不是二进制流,也不需要临时路径转base64,和普通的上传图片是一样的方式。

    2018-12-07
    有用
    回复 6
    • 跃迁
      跃迁
      2018-12-07

      上面第一张图片,我是直接传到后台的,没有转base64。ios上可以,而android上却不行

      2018-12-07
      回复
    • 痛快科技
      痛快科技
      2018-12-07回复跃迁

      报什么错误信息?

      2018-12-07
      回复
    • 跃迁
      跃迁
      2018-12-07回复痛快科技

      我们后端,说无法通过name值,接受二进制流

      2018-12-07
      回复
    • 跃迁
      跃迁
      2018-12-07回复跃迁

      还有个问题是,canvasToTempFilePath生成的临时路径,通过wx.getFileSystemManager().readFileSync(res.tempFilePath, 'base64')转base64,在ios上可以实现,而android上却不能,android上无法将转码后的base64解码成图片


      2018-12-07
      回复
    • 痛快科技
      痛快科技
      2018-12-07回复跃迁

          后台能上传图片吗?只要你小程序发起的请求及传参是正确的,后台的处理方式和普通的浏览器上传是一样的,可以先确认下后台的上传图片接口是不是有问题。

      2018-12-07
      回复
    查看更多(1)
登录 后发表内容