【发布时间】:2013-12-02 08:23:10
【问题描述】:
我是 iPhone 编程的新手。使用下面的代码,我尝试上传多个图像和音频以及用户 ID、标题、服务器中的其他合并图像,但它不工作前 3 个参数在存储多个音频和图像之后用于循环我正在一一上传,但在内部数据没有上传到服务器中,我从服务器收到响应,比如没有上传图像和音频。谁能告诉我这段代码有什么错误。
-(void)uploadblauky:(id)sender
{
NSLog(@"SGDSGvzvSG");
NSString *imagestr=[imageCollection4 objectAtIndex:3];
// NSLog(@"%@sdffhgh",imagestr);
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setColor:[UIColor greenColor]];
//[spinner setCenter:CGPointMake(150,150)]; // I do this because I'm in landscape mode
spinner.frame = CGRectMake(0,0,35,35);
// activityIndicator = [[UIActivityIndicatorView alloc]
// initWithFrame:CGRectMake(0.0f, 0.0f, 20.0f, 20.0f)];
[sharethumb addSubview:spinner];
[spinner startAnimating];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSString* bllaukycaption = @"BlaukyAslam";
// NSString* user_id = @"45";
NSString* user_id=[NSString stringWithFormat:@"2"];
NSString* mobile_blauky_id = [NSString stringWithFormat:@"2 "];
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
profileuserid = [[NSString alloc]initWithFormat:@"%@",[standardUserDefaults objectForKey:@"id"]];
NSLog(@"%@newStr",profileuserid);
NSURL *dataURL=[[NSURL alloc]initWithString:[NSString stringWithFormat:@"http://54.221.218.162/index.php/api/uploadClass/uploadBlauky/format/xml"]];
NSMutableURLRequest *dataRqst = [NSMutableURLRequest requestWithURL:dataURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
[dataRqst setHTTPMethod:@"POST"];
NSString *stringBoundary = @"0xKhTmLbOuNdArY---This_Is_ThE_BoUnDaRyy---pqo";
NSString *headerBoundary = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",stringBoundary];
[dataRqst addValue:headerBoundary forHTTPHeaderField:@"Content-Type"];
NSMutableData *postBody = [NSMutableData data];
// -------------------- ---- caption ---------------------------\\
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"caption\"\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[bllaukycaption dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
//caption
// -------------------- ---- userId ---------------------------\\
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"user_id\"\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[profileuserid dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"%@",user_id);
NSLog(@"Hai aslam");
//asdf
// -------------------- ---- mobile_tauky_id ---------------------------\\
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"mobile_tauky_id\"\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[mobile_blauky_id dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
// -------------------- ---- blauky_id ---------------------------\\
// -------------------- ---- MergeImage Upload Status ---------------------------\
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"thumbnail_blauky\"\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
NSString *mediaType=@"Image";
NSLog(@"type %@",mediaType);
[postBody appendData:[mediaType dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
//pass MediaType file
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"thumbnail_blauky\"; filename=\"image18.png\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Type: image/png\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
// get the image data from main bundle directly into NSData object
// NSError *error;
NSLog(@"%@sd",imagestr);
NSLog(@"%@sdf",[imageCollection4 objectAtIndex:3]);
// NSData *audiofile1Data = [[NSData alloc]initWithContentsOfURL:surl];
NSData *fileData1 = [[NSData alloc] initWithContentsOfFile:thumbnailmergeimage];
// add it to body
[postBody appendData:fileData1];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"%@",arrayyes2);
NSLog(@"%@",arrayyes);
for(int r=0;r<[arrayyes2 count];r++)
{
// -------------------- ---- Image Upload Status ---------------------------\
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"image\"\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
NSString *mediaType=@"Image";
NSLog(@"type %@",mediaType);
[postBody appendData:[mediaType dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
//pass MediaType file
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"image\"; filename=\"image18.png\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Type: image/png\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
// get the image data from main bundle directly into NSData object
NSString *imagestr=[arrayyes2 objectAtIndex:r];
// NSError *error;
NSLog(@"%@sd",imagestr);
NSLog(@"%@sdf",[imageCollection4 objectAtIndex:3]);
NSLog(@"%@sdf",[arrayyes2 objectAtIndex:0]);
NSLog(@"%@sdf",[arrayyes2 objectAtIndex:1]);
NSLog(@"%i@sdf",[arrayyes2 count]);
NSLog(@"%@sdf",[arrayyes2 objectAtIndex:2]);
// NSData *audiofile1Data = [[NSData alloc]initWithContentsOfURL:surl];
NSData *fileData1 = [[NSData alloc] initWithContentsOfFile:imagestr];
// UIImage *img = [UIImage imageWithContentsOfFile:imagestr];
//NSData *imgData = UIImagePNGRepresentation(Your Image);
// add it to body
[postBody appendData:fileData1];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
// -------------------- ---- Audio Upload Status ---------------------------\
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"image\"\r\n\r\n"
dataUsingEncoding:NSUTF8StringEncoding]];
NSString *mediaTypee=@"tone";
NSLog(@"type %@",mediaTypee);
[postBody appendData:[mediaTypee dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"audio\"; filename=\"audiofilename.caf\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Type: audio/caf\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
NSString *audiosti=[arrayyes objectAtIndex:r];
// NSLog(@"%@",audiosti);
surl = [NSURL fileURLWithPath:audiosti];
NSData *file1Data = [[NSData alloc] initWithContentsOfFile:audiosti];
// NSLog(@"%@audiostring",surl);
// add it to body
[postBody appendData:file1Data];
[postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"--%@--\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
}
// add body to post
// NSLog(@"%@",postBody);
[dataRqst setHTTPBody:postBody];
NSHTTPURLResponse* response =[[NSHTTPURLResponse alloc] init];
NSError* error = [[NSError alloc] init] ;
//synchronous filling of data from HTTP POST response
NSData *responseData = [NSURLConnection sendSynchronousRequest:dataRqst returningResponse:&response error:&error];
//convert data into string
responseString = [[NSString alloc] initWithBytes:[responseData bytes] length:[responseData length] encoding:NSUTF8StringEncoding];
NSLog(@"Response String %@",responseString);
}
【问题讨论】:
标签: ios iphone objective-c