小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 需求的场景描述(希望解决的问题)
安卓手机上,canvasToTempFilePath 转临时路径,用uploadFile上传图片,后端无法接受二进制流;
该临时路径转base64,无法解码成图片,转base64方法:
wx.getFileSystemManager().readFileSync(res.tempFilePath, 'base64')
- 希望提供的能力
求助大神
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
采用了formData进行了提交,其中在base64转为file文件时,会遇到ios兼容问题,需要转为blob文件 进行上传。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
后台应该是要求了 file 上传
canvasToTempFilePath生成的临时路径,生成是有延时的,加200毫秒延时就差不多了,否则虽然生成了路径,但里面文件有时没生成完,你无法读取,我是这么理解的
canvasToTempFilePath方法生成的临时路径直接传递到后台用就可以了,他不是二进制流,也不需要临时路径转base64,和普通的上传图片是一样的方式。
上面第一张图片,我是直接传到后台的,没有转base64。ios上可以,而android上却不行
报什么错误信息?
我们后端,说无法通过name值,接受二进制流
还有个问题是,canvasToTempFilePath生成的临时路径,通过wx.getFileSystemManager().readFileSync(res.tempFilePath, 'base64')转base64,在ios上可以实现,而android上却不能,android上无法将转码后的base64解码成图片
后台能上传图片吗?只要你小程序发起的请求及传参是正确的,后台的处理方式和普通的浏览器上传是一样的,可以先确认下后台的上传图片接口是不是有问题。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
采用了formData进行了提交,其中在base64转为file文件时,会遇到ios兼容问题,需要转为blob文件 进行上传。
后台应该是要求了 file 上传
canvasToTempFilePath生成的临时路径,生成是有延时的,加200毫秒延时就差不多了,否则虽然生成了路径,但里面文件有时没生成完,你无法读取,我是这么理解的
canvasToTempFilePath方法生成的临时路径直接传递到后台用就可以了,他不是二进制流,也不需要临时路径转base64,和普通的上传图片是一样的方式。
上面第一张图片,我是直接传到后台的,没有转base64。ios上可以,而android上却不行
报什么错误信息?
我们后端,说无法通过name值,接受二进制流
还有个问题是,canvasToTempFilePath生成的临时路径,通过wx.getFileSystemManager().readFileSync(res.tempFilePath, 'base64')转base64,在ios上可以实现,而android上却不能,android上无法将转码后的base64解码成图片
后台能上传图片吗?只要你小程序发起的请求及传参是正确的,后台的处理方式和普通的浏览器上传是一样的,可以先确认下后台的上传图片接口是不是有问题。