From 84f8077ed03a3d848cb517009bdbe658a57c34f8 Mon Sep 17 00:00:00 2001 From: Dfowj Date: Wed, 5 Mar 2014 19:19:03 -0500 Subject: [PATCH] Avoid multipart encoded bug by setting request body instead of generating multipart request --- AFAmazonS3Client/AFAmazonS3Manager.m | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/AFAmazonS3Client/AFAmazonS3Manager.m b/AFAmazonS3Client/AFAmazonS3Manager.m index da87047..730bb50 100644 --- a/AFAmazonS3Client/AFAmazonS3Manager.m +++ b/AFAmazonS3Client/AFAmazonS3Manager.m @@ -227,19 +227,9 @@ - (void)setObjectWithMethod:(NSString *)method NSData *data = [NSURLConnection sendSynchronousRequest:fileRequest returningResponse:&response error:&fileError]; if (data && response) { - NSMutableURLRequest *request = [self.requestSerializer multipartFormRequestWithMethod:method URLString:[[self.baseURL URLByAppendingPathComponent:destinationPath] absoluteString] parameters:parameters constructingBodyWithBlock:^(id formData) { - if (![parameters valueForKey:@"key"]) { - [formData appendPartWithFormData:[[filePath lastPathComponent] dataUsingEncoding:NSUTF8StringEncoding] name:@"key"]; - } - [formData appendPartWithFileData:data name:@"file" fileName:[filePath lastPathComponent] mimeType:[response MIMEType]]; - } error:nil]; - -// NSURL *temporaryFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:[[NSUUID UUID] UUIDString]]]; -// request = [self.requestSerializer requestWithMultipartFormRequest:request writingStreamContentsToFile:temporaryFileURL completionHandler:^(NSError *error) { -// if (!error) { -// [request setHTTPBody:[NSData dataWithContentsOfFile:[temporaryFileURL absoluteString]]]; -// } -// }]; + + NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:method URLString:[[self.baseURL URLByAppendingPathComponent:destinationPath] absoluteString] parameters:parameters error:nil]; + request.HTTPBody = data; AFHTTPRequestOperation *requestOperation = [self HTTPRequestOperationWithRequest:request success:^(__unused AFHTTPRequestOperation *operation, id responseObject) { if (success) {