func uploadProfileGIF(imageArray: NSMutableArray){
var count = 0
let bucketname = DAO.getBucketNameForLoggedInUser()
let uploadUrl = "https://whatever.com/whatever"
for i in imageArray{
var objectname = "picture" + String(count)
let image = i;
//Turn image into data
let imageData: NSData = UIImagePNGRepresentation(image as! UIImage)!
let params = ["objectname" : objectname, "bucketname" : bucketname!, "isGifImgae" : "True", "content_type" : "image/jpeg"]
let manager = AFHTTPSessionManager()
manager.POST(uploadUrl, parameters: params, constructingBodyWithBlock: { (AFMultipartFormData) in
AFMultipartFormData.appendPartWithFileData(imageData, name: "file", fileName: "image", mimeType: "image/jpeg")
}, progress: nil, success: { (s:NSURLSessionDataTask, response) in
print(response)
}) { (s:NSURLSessionDataTask?, e:NSError?) in
print(e)
}
count+=1
}
}
Так я это сделал. Надеюсь это поможет. Его AlamoFire, и это запрос POST, просто другой синтаксис, я думаю. Просто цикл for, который вызывает вызов API для каждого изображения в вашем массиве.
EDIT:
Таким образом, вместо того, чтобы использовать для цикла и вызова API пять отдельных раз, просто изменить имя AFMultipartofrmdata. Передайте в 5 файлах, затем в свой API при доступе к файлам, просто получите доступ к ним по имени. Например, так, что мой API хватает файла, который находится в Python, это как так
data = self.request.get('file')
Теперь данные мое изображение, и я могу загрузить его в качестве такового. Просто выполните это пять раз в одном вызове API.
AFMultipartFormData.appendPartWithFileData(imageData1, name: "file1", fileName: "image", mimeType: "image/jpeg")
AFMultipartFormData.appendPartWithFileData(imageData2, name: "file2", fileName: "image", mimeType: "image/jpeg")
AFMultipartFormData.appendPartWithFileData(imageData3, name: "file3", fileName: "image", mimeType: "image/jpeg")
AFMultipartFormData.appendPartWithFileData(imageData4, name: "file4", fileName: "image", mimeType: "image/jpeg")
AFMultipartFormData.appendPartWithFileData(imageData5, name: "file5", fileName: "image", mimeType: "image/jpeg")
Затем просто назначьте имена и NSData внутри цикла for.
Тогда на стороне API что-то это нравится;
image1 = self.request.get('file1')
image2 = self.request.get('file2')
image3 = self.request.get('file3')
image4 = self.request.get('file4')
image5 = self.request.get('file5')
Надеюсь, это поможет! Это то, что я изменил свой API-вызов, вместо того, чтобы называть 5 раз для каждого пользователя.
Спасибо за совместное использование, но мне нужно отправить все изображения в один и тот же вызов API:/ – user2636197
Я только что обновил ответ –