我在将媒体文件上传到php内置的Web服务时遇到了问题。 我有一个应用程序以及android中的源代码,我想在iphone中复制它。 这部分我应该将媒体文件和一些字符串上传到Web服务。 android中的代码使用一个名为MultiPartEntity和HTTPPost的类来上传它。 有几个标签,标签与一些字符串相关联。
表示ex.MultiPartEntity mpEntity.addPart(“username”,“abc”);,同样适用于密码和其他标签。
我做了一些研究,我找到了ASIFormDataRequest来处理类似的事情。
这是我用来上传媒体和其他一些detials的示例代码,
NSData * imageData = UIImageJPEGRepresentation(image.image,90); NSMutableURLRequest * request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setURL:[NSURL URLWithString:@“http://my.url.com/somephpwebservice.php”]]; [请求setHTTPMethod:@“POST”];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
// now lets create the body of the post
NSMutableData *body = [NSMutableData data];
//................................ Append the image data here//u= \"TP\";p= \"7012\";o= \"DEMO\";j= \"1151\"...........................
//if (!([htmlCodeToWrite rangeOfString:@"SignatureShouldBeDoneHere"].location == NSNotFound))
//{
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data;name=\"userfile\";username=\"TP\";p=\"7012\";filename=\"%@\"\r\n",@"superman.jpg"] dataUsingEncoding:NSUTF8StringEncoding]];
//[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
//}
//NSString *content = [NSString stringWithUTF8String:[imageData bytes]];
NSLog(@"%@",imageData);
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
//data into the string..... verifying............
NSString *strTest = [[NSString alloc] initWithData:body encoding:NSASCIIStringEncoding];
NSLog(@"%@ %@",@".....the request for webService",strTest);
// setting the body of the post to the request
[request setHTTPBody:body];
// now lets make the connection to the web
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"%@ %@",returnString,@".....the response from webService");
这是正确的程序。??
php开发人员表示图片没有上传。
请帮忙。 提前完成。