关于使用云储存上传文件wx.cloud.uploadFile(),成功后返回的fileID顺序错误
发布于 7 年前 作者 xueli 10637 次浏览 来自 问答

我的需求:用户选择相册的图片上传,成功后按照当初选择的顺序进行展示;

用户选择图片顺序如下图(从左至右):第一张为宾利汽车

代码如图,用户通过按钮点击触发upImage( )函数

然后我通过打印出来的信息,发现这个云储存返回的图片顺序不对。使用for循环依次上传图片,第一次返回的fileID应该是宾利汽车的fileID才对

结果我到云储存一看,发现云储存返回的第一个fileID是那张女孩图片;可女孩的图片不是还没有上传吗?

经过我多次测试,发现云储存返回的fileID不会按照你传入的图片数组顺序,而是按照图片的体积大小顺序进行返回。

不知道是不是个Bug,希望官方能尽快帮助给我一个解决方案,谢谢!

4 回复

谢邀:

这个典型的异步问题哈。

是谁先上传完成谁先分配id的原则

可能是个Bug?

异步执行没有顺序,和图片大小有关,越大传的越慢,如果需要顺序处理,应该在 wx.cloud.uploadFile 回调里面触发下一个图片上传。

建议了解下 Promise.all

回到顶部