目前在app端真机测试下,能够通过chooseImage拿到图片的路径,然后根据这个路径通过plus.io.resolveLocalFileSystemURL拿到图片本地的真实路径,然后将能够读取到图片的内容, plus.io.FileReader只发现能够将图片内容读取成text跟base 64。
需要将图片上传到阿里oss上面。
目前测试调用ali oss的put 传入 arraybuffer
提示必须要BUffer/Blob
测试传入Buffer
提示undefined is not an object (evaluating 'result.headers['x-oss-request-id']',这个觉得可能是ali oss相关的问题,大佬如果知道求帮忙
测试传入Blob
但是无法知道如何转换成Blob ,app端没有Blob对象跟File对象
请问app端怎么讲图片内容转成Blob
z***@qq.com
- 发布:2020-05-04 12:51
- 更新:2022-12-22 15:45
- 阅读:29150
14 个回复
最佳回复
1***@qq.com
关于这个问题,本人看完上述的讨论后,得到了思路并且尝试成功。
现在记录下思路分享给大家
image-tool使用这个插件把,app获取的图片转换成base64
然后再renderjs里面把base64转换成blob再调用阿里云的oss实现前端直传
附件第一张图:转换相册选中的图片为base64
附件第二张图:renderjs接收到的base64字符串转换成blob,再调用阿里云oss上传文件
附件第三张图是上传到oss后的图片
以上就是uniapp 安卓app 前端直传阿里云oss的方案。
9***@qq.com - html,app,watercolor,wx
假如用户上传图片 然后进行编辑 这块只能用canvase进行图片的裁剪,裁切后的canvas 生成的只能是base64 而后端的接口需要fromdate 数据格式 这个就有问题了 只能是后端改成base64 ,你们知道base64在uniapp转formdate的方法吗
Dream_Function
大佬问题解决了吗。项目进行到一半了,也碰到这个问题了。
紫川丶
chooseImage后直接uni.uploadFile()就是file
1***@qq.com
不是啊 是一个_doc开头的路径
2021-02-08 17:31
端木Q
图片相对路径转为base64,你是怎么做的啊,可以把代码贴出来吗
猫猫儿
官方有API
2020-07-15 18:16
端木Q
回复 猫猫儿: 只是微信小程序的吧,app端貌似不可以吧
2020-07-22 14:17
端木Q
回复 猫猫儿: 可以告诉我具体是哪个api吗
2020-07-22 14:18
9***@qq.com
回复 端木Q: 市场剪切插件有很多转base64
2020-07-29 11:05
端木Q
回复 端木Q: 已经搞定了
2020-07-29 16:50
3***@qq.com
回复 端木Q: 请问一下您是怎么搞定的?
2020-08-03 14:36
z***@gmail.com
这个问题到现在还没有解决吗?我的理解是UniApp目前在App端不提供将图片转成File/Blob的形式,从而无法使用阿里云的SDK上传图片。貌似现在使用uni.uploadFile是最靠谱的,也就是说SDK用不了咯这个问题到现在还没有解决吗?我的理解是UniApp目前在App端不提供将图片转成File/Blob的形式,从而无法使用阿里云的SDK上传图片。貌似现在使用uni.uploadFile是最靠谱的,也就是说SDK用不了咯
1***@qq.com
大佬们解决了吗?
2***@qq.com - hahahhahah
image-tool 插件看看
5***@qq.com - ht
请问解决了么
猫猫儿
APP端vue没有File或者Blob对象!需要上传文件直接使用uni.uploadFile()
如果有需要使用阿里的SDK,可以尝试通过renderjs进行操作
2020-10-29 17:55
1***@qq.com - 无
请问有人解决了吗???
阿里云服务 - 服务器 数据库 防火墙 商务合作13486368692
有用阿里云 腾讯云的可以找我返点百分之25 v547877155
8***@qq.com
都是怎么解决的?遇到了相同的问题
8***@qq.com
视频怎么转blob啊,有人遇到这个问题吗,
8***@qq.com
也是app端的
2022-12-22 15:46
ccccxxll
回复 8***@qq.com: 您好,这个问题解决了吗,咋写的
2024-01-18 18:39
猫猫儿 - 猫猫儿
用官方提供的uni.uploadFile()方法
z***@qq.com (作者)
没办法app端使用阿里oss的 SDK直接上传嘛
2020-05-09 11:50
猫猫儿
回复 z***@qq.com: 阿里的SDK是基于WEB开发的,不适合uniapp端环境
2020-05-09 13:10
Dream_Function
回复 猫猫儿: 原生的安卓SDK也不行吗?基于原生的SDK进行二次开发成uni-app的插件进行上传OSS也不行吗?
2020-05-09 14:20
Dream_Function
现在我也是卡在能转换成base64码。但是,如果是按照我们现在H5的方式,还需要通过canvas进行等比例的压缩。在进行上传。现在app中没有Image对象,我还没测试到file对象或者blob对象。好难受啊。
2020-05-09 14:39
猫猫儿
回复 Dream_Function: 这肯定可以啊,但是市场里貌似暂时没有,你要自己开发也可以,但用uni的API一般就够了
2020-05-09 15:20
猫猫儿
回复 Dream_Function: uni.chooseImage()也提供了压缩功能,可以直接使用
2020-05-09 15:20
Dream_Function
回复 猫猫儿: 好吧。谢谢回复
2020-05-09 15:25
3***@qq.com
有这个方法么,我怎么没找到啊
2020-08-03 15:27
3***@qq.com
回复 Dream_Function: 请问你是怎么转成base64的呢
2020-08-03 15:31
劣徒123
回复 z***@qq.com:可以改一下官方的接口上传,我改过
2022-01-14 11:38