多图上传遇到的图片顺序问题及解决

一 问题描述

多个图片上传到服务器,需要保证图片添加的顺序与最后展示的顺序一致。

二 问题解决

由于上传图片的时候,针对每张图都有1个上传的接口请求,每个请求依次开始,但并没有保证完成顺序。
因此,根据图片文件大小的不同,请求完成的顺序可能与最开始的图片添加顺序不一致。

需要针对请求图片的序号,对每一个请求返回的结果进行编号对应
然后将每个请求返回的结果,连同顺序编号一起作为一个整体元素放入一个请求结果数组。
最后等所有请求完成时,从结果数组中取出元素,根据元素的顺序编号,重新进行排序。

比如:图片数组为imageArray,图片请求的返回数据为result,请求返回对应的图片序号为index。则在请求返回时,需要将result连同index一起,使用字典Dictionary(index:result)组合成一个字典对象,放入请求结果数组resultArray中。最后求返回有序数组sortedResultArray时,遍历resultArray,将取出的元素dict,dict的value放入sortedResultArray在dict的key位置。

sortedResultArray[dict.key] = dict.value

三 小结

图片请求是异步请求,若多个文件不是一次整体上传,需要由客户端来保证图片的顺序。
为了充分利用网络,可以同时进行多个图片请求,但每个图片大小不一样,请求返回时,需要再结合原图片顺序重新排序图片请求结果
swift 中也可以使用元组来组织图片序号和请求结果,但字典更佳。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值