diff --git a/MKNetworkKit/MKNetworkOperation.h b/MKNetworkKit/MKNetworkOperation.h index 8e8d828..da9a265 100644 --- a/MKNetworkKit/MKNetworkOperation.h +++ b/MKNetworkKit/MKNetworkOperation.h @@ -370,7 +370,7 @@ typedef enum { * The method has a side effect. It changes the HTTPMethod to "POST" regardless of what it was before. * It also changes the post format to multipart/form-data */ --(void) addData:(NSData*) data forKey:(NSString*) key mimeType:(NSString*) mimeType; +-(void) addData:(NSData*) data forKey:(NSString*) key mimeType:(NSString*) mimeType fileName:(NSString*) fileName; /*! * @abstract Block Handler for completion and error diff --git a/MKNetworkKit/MKNetworkOperation.m b/MKNetworkKit/MKNetworkOperation.m index 12cf082..fd09c4c 100644 --- a/MKNetworkKit/MKNetworkOperation.m +++ b/MKNetworkKit/MKNetworkOperation.m @@ -667,17 +667,18 @@ -(NSString*) curlCommandLineString -(void) addData:(NSData*) data forKey:(NSString*) key { - [self addData:data forKey:key mimeType:@"application/octet-stream"]; + [self addData:data forKey:key mimeType:@"application/octet-stream" fileName:@"file"]; } --(void) addData:(NSData*) data forKey:(NSString*) key mimeType:(NSString*) mimeType { +-(void) addData:(NSData*) data forKey:(NSString*) key mimeType:(NSString*) mimeType fileName:(NSString*) fileName { [self.request setHTTPMethod:@"POST"]; NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: data, @"data", key, @"name", - mimeType, @"mimetype", + mimeType, @"mimetype", + fileName, @"filename", nil]; [self.dataToBePosted addObject:dict]; @@ -715,7 +716,7 @@ -(NSData*) bodyData { [self.fieldsToBePosted enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { NSString *thisFieldString = [NSString stringWithFormat: - @"--%@\r\nContent-Disposition: form-data; name=\"%@\"\r\n\r\n%@\r\n", + @"--%@\r\nContent-Disposition: form-data; name=\"%@\"\r\n\r\n%@", boundary, key, obj]; [body appendData:[thisFieldString dataUsingEncoding:[self stringEncoding]]]; @@ -744,7 +745,7 @@ -(NSData*) bodyData { @"--%@\r\nContent-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\nContent-Type: %@\r\nContent-Transfer-Encoding: binary\r\n\r\n", boundary, [thisDataObject objectForKey:@"name"], - [thisDataObject objectForKey:@"name"], + [thisDataObject objectForKey:@"filename"], [thisDataObject objectForKey:@"mimetype"]]; [body appendData:[thisFieldString dataUsingEncoding:[self stringEncoding]]];