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]

Reply via email to