簡體   English   中英

如何在Alamofire中使用multipart在多個圖像陣列中上傳多個圖像?

[英]How to upload multiple images in multiple array of images using multipart in Alamofire?

我在使用Alamofire中的多部分在多個圖像陣列中上傳多個圖像時遇到問題。 誰能幫我? 提前致謝!!

我使用以下代碼

let fileParameters = ["array_1": images1Array,
                      "array_2": images2Array]

func requestUpload(files: [String: Any]? = nil) {

Alamofire.upload( multipartFormData: { multipartFormData in
        if let files = files {
            for (key, value) in files {
                if let images = value as? [UIImage] {
                    for (index, image) in images.enumerated() {
                        let imageData = UIImageJPEGRepresentation(image, 1.0)
                        multipartFormData.append(imageData!, withName: "\(index)", fileName: "\(index).jpg", mimeType: "image/jpg")
                    }
                }
            }
        }
}, to: path , method: .post , headers: request.headers,
          encodingCompletion: { encodingResult in

            self.validatedData(of: encodingResult, handler: { (result, error) in
                handler(result, error)
            })
        })
}

所以我想知道如何在特定鍵中附加多個圖像。

服務器請求如下:

"array1":[
     {
        product_image: img1.jpg
     },
     {
        product_image: img2.jpg
     }
  ],
  "array2":[
     {
        product_image: img3.jpg
     }
  ]

我希望這會奏效

制作你的關鍵數組類型: -

 multipartFormData.append(imageData!, withName: "product_image[\(index)]", fileName: "\(index).jpg", mimeType: "image/jpg")

使你的循環以遞增的順序創建索引值,如0,1,2,3 ..... N.

使用flatmap加入imagesArrays並循環顯示圖像。

let allImages = fileParameters.values.flatMap{$0}

allImages.enumerated().forEach {    
   multipartFormData.append(UIImagePNGRepresentation($1.values.first), withName: "product_image\($0)", fileName: "\($0).jpg", mimeType: "image/jpg")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM