移动端拿到本地的图片,如何转换为文件流的格式呢?

发布于 2022-09-12 04:25:32 字数 1046 浏览 30 评论 0

使用的是apicloud UIAlbumBrowser模块获取系统相册图片 ,拿到的回调信息是这样的:


eventType: cancel, //字符串类型;按钮点击事件,取值范围 //confirm 用户点击确定按钮事件 //cancel 用户点击取消按钮事件 
list: [{ //数组类型;返回选定的资源信息数组
gifImagePath:'', //字符串类型;gif图路径,返回gif图在本地的绝对路径,可直接使用 注意:当gifImagePath存在,则不返回path和thumbPath路径 
path: '', //字符串类型;资源路径,返回资源在本地的绝对路径,注意:iOS 平台上需要用 transPath 接口转换之后才可读取原图 
thumbPath: '', //字符串类型;缩略图路径,返回资源缩略图在本地的绝对路径 
suffix: '', //字符串类型;文件后缀名,如:png、jpg、 mp4(iOS不支持) 
size: 1048576, //数字类型;资源大小,单位(Bytes)
time: '1490580032000', //字符串类型;资源修改时间,格式:时间戳,单位为毫秒。
videoPath:'', //字符串类型;视频路径 longitude:116.3718, //数字类型;资源的经度 ;注意确认一下相机的定位权限是否被开启,如果不开启的话经纬度为0,查看方式:设置-->隐私-->定位服务-->相机 (仅支持iOS) latitude:39.982', //数字类型;资源的纬度度 (仅支持iOS)
}] 

我的做法: 拿到path转换为base64 上传给服务器,但是图片太大的时候转换base64 ios会出现闪退

准备的解决方案就是转换为文件流formData 格式
请问如何转换呢

假设使用原生input ,会有问题,有的安卓机型无法多选 ,个别容易闪退。
<input type="file"  accept="image/*"  @change="upPhoto($event,6)"    ref="upimg6" name='file' multiple  />

求大佬们赐教啊 ,找个问题困扰很久了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初见你 2022-09-19 04:25:32

先用canvas压缩,在转blob,再通过formData上传给后台;具体方法搜下,很多可用的,都是现成的;
还有个accept建议设置下格式;避免低版本手机卡死;

仄言 2022-09-19 04:25:32

亲,有在吗?想要请教一下apicould图片上传的问题,拿到ret.list后,怎样获得图片在网页上显示?img.src=ret.list[0].path页面显示不出来图片……能帮忙解惑一下吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文