iOS 开发图片上传优化

image.png

场景如上

  • 如果只是需要了图片顺序。即第一张图 变成了第二张,第二张变成了第一张图。
  • 在俩张图片的基础上又多加了2张图片。顺序如下。其实已经存在的俩张图片是可以不用上传的。只要把本次新加的图片上传 然后也要确保顺序


    image.png

基于此 我写了下 我的实现逻辑


  let originStr = "a,b" //原始的字符串
        //原始数组
        let imgArr1 = [UIImage(named: "shareicon"),UIImage(named: "zjlunch_place")]
        /// 新数组
        let imgArr2 = [UIImage(named: "zjlunch_place"),UIImage(named: "lake"),UIImage(named: "shareicon")]
        
        var sameArr:[(Int,Int)] = []
        for i in 0 ..< imgArr1.count {
            for j in 0 ..< imgArr2.count {
                if let img0 = imgArr1[i],let img1 = imgArr2[j] {
                    if img0 == img1 {
                        print("imgArr1中的\(i + 1)个元素与imgArr2中的\(j + 1)个元素是相同的")
                        sameArr.append((i,j))
                    }
                }
            }
        }
        var uploadArr:[(String,UIImage)] = []
        var newUploadImgStrArr:[String] = []
        for obj in imgArr2 { // 占位元素
            if let img = obj {
                uploadArr.append(("1",img))
            }else {
                uploadArr.append(("0",UIImage()))
            }
            newUploadImgStrArr.append("")
        }
        print("***sameArr***")
        print(sameArr)
        print("***sameArr***")
        let originUploadStrArr = originStr.components(separatedBy: ",") //原始返回的字符串数组
        
        for obj in sameArr {
            let currentIndex = obj.1
            let lastIndex = obj.0
            uploadArr[currentIndex].0 = "0" //表示当前图片不需要重新上传 待会直接拼接到对应顺序里
            newUploadImgStrArr[currentIndex] = originUploadStrArr[lastIndex]
        }
        
        for (index,obj)  in uploadArr.enumerated() {
            if obj.0 == "1" { //表示之前没有上传过 现在需要上传。
                print("上传图片操作 后端返回图片地址 ")
                newUploadImgStrArr[index] = "新的地址" //直接插入新的
            }
        }
        
        print("所有新添加的图片上传完 将新的图片字符串 连同其他的param返回给后台")

这样可以减少服务端有的图片重复上传。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容