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
}
}
:一緒に他のポストデータを
var arrayOfImages: [UIImage] = [some images...]
私が見るドキュメントを見ると
これが私のやり方です。お役に立てれば。そのAlamoFire、それは私が推測する異なる構文のPOSTリクエストです。あなたの配列内のすべてのイメージに対してAPI呼び出しを行うforループです。
EDIT:
ので、代わりのforループを使用し、API 5つの別々の回を呼び出すには、単にAFMultipartofrmdataの名前を変更します。ファイルにアクセスすると、5つのファイルをAPIに渡し、名前でアクセスします。例えば、私のAPIがPythonであるファイルを、グラブする方法は、そう
data = self.request.get('file')
のように今のデータは私のイメージです、と私はそのようにアップロードすることができます。 同じAPI呼び出しでこれを5回行うだけです。
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")
次に、forループ内に名前とNSDataを割り当てます。
次に、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
私はちょうど答えを更新しました –