I'm trying to upload a file with the NSURL* API, but on the server end the PHP code is unable to decode the $_FILES array. The PHP code works fine when posted from an HTML form (and from clients on other platforms).
Traffic sniffed on the wire looks good as far as I can tell, so what would be the problem? The code in question follows. NSString *urlString = @"http://server:8080/php/post.php"; NSURL *url = [NSURL URLWithString:urlString]; NSString *requestMethod = @"POST"; NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; [req setHTTPMethod:requestMethod]; NSString *headerFieldName; NSString *headerFieldValue; NSString *boundary = @"-----------------------------1234567890"; headerFieldName = @"Content-Type"; headerFieldValue = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary]; [req addValue:headerFieldValue forHTTPHeaderField:headerFieldName]; NSString *phone = @"7195554321"; NSDate *currentDate = [NSDate date]; NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@"yyyyMMddHHmmss"]; NSString *dateString = [dateFormatter stringFromDate:currentDate]; // Will look something like this: form-data; name="file"; filename="7195554321_1_20080311132327_jpg" headerFieldValue = [NSString stringWithFormat:@"form-data; name=\"file\"; filename=\"[EMAIL PROTECTED]@_jpg\"", phone, dateString]; NSMutableData *postBody = [NSMutableData data]; // Add ----boundary [postBody appendData:[[NSString stringWithFormat:@"[EMAIL PROTECTED]", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; // Add form-data with filename [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: [EMAIL PROTECTED]", headerFieldValue] dataUsingEncoding:NSUTF8StringEncoding]]; // Add content-type [postBody appendData:[[NSString stringWithString:@"Content-Type: null\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // Add image data [postBody appendData:imageData]; // Add ----boundary-- [postBody appendData:[[NSString stringWithFormat:@"[EMAIL PROTECTED]", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [req setHTTPBody:postBody]; NSHTTPURLResponse *res = nil; NSError *err = nil; NSData *data = [NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&err]; -- Tom Harrington [EMAIL PROTECTED] AIM: atomicbird1 _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]