0

以下のコードを使用して、画像、オーディオ、ユーザー ID、キャプションをアップロードしていますが、ここではユーザー ID がアップロードされていません。ユーザー ID が空のような応答を返します。

 UIImage * img = [UIImage imageNamed:@"Elephant.jpg"];
    NSData *imageData = UIImageJPEGRepresentation(img,0.2);     //change Image to NSData
    NSString *file2 = [[NSBundle mainBundle] pathForResource:@"tone" ofType:@"mp3"];
    NSData *audioData = [NSData dataWithContentsOfFile:file2];
    NSString* captionn = [NSString stringWithFormat:@"Aslam"];
    int x = 45;
    NSString *user_idd =[NSString stringWithFormat:@"%i",x];
    NSString* mobile_tauky_idd = [NSString stringWithFormat:@"2"];
    NSString * filenames = [NSString stringWithFormat:@"TextLabel"];
    NSLog(@"%@", filenames);
    NSString *urlString = @"http://182.73.152.59:82/php/tauky_services/codeigniter-restserver-master/index.php/api/uploadClass/uploadTauky/";
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
    [request setURL:[NSURL URLWithString:urlString]];
    [request setHTTPMethod:@"POST"];   
    boundary = @"---------------------------14737809831466499882746641449";
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
        [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
          NSLog(@"%@", request);
        NSMutableData *body = [NSMutableData data];
 [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"caption\"\r\n\r\n%@", captionn] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    //inputname
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"user_id\"\r\n\r\n%@", user_idd] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];

    //mobile_tauky_idd
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"mobile_tauky_id\"\r\n\r\n%@", mobile_tauky_idd] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    //Image
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"image\"; filename=\"%@\"\r\n",imageData] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[NSData dataWithData:imageData]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    //Audio
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"audio\"; filename=\"%@\"\r\n",audioData] dataUsingEncoding:NSUTF8StringEncoding]];
  //  [body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"audio\"; filename=\"tone.mp3\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

    [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];


    [body appendData:[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"tone" ofType:@"mp3"]]];

    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
        NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
        NSLog(@"Response : %@",returnString);

        if([returnString isEqualToString:@"Success ! The file has been uploaded"])
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Image Saved Successfully" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];

            [alert show];
        }
        NSLog(@"Finish");

このコードにどのような間違いがあるか教えてもらえますか

4

2 に答える 2

0

サーバーからアプリ/アプリからサーバーへの多くのことを行います。このコードを使用して写真をアップロードします。

-(void)uploadPhotoToServer
{
NSMutableString *myString = [[NSMutableString alloc] initWithString:@"http://www.domain.com/"];
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:myString]
                                                               cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                           timeoutInterval:60];
[urlRequest setHTTPMethod:@"POST"];
NSString *boundary = @"----WebKitFormBoundaryQkZe6RUJZ2xbzXLB";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[urlRequest addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Disposition: form-data; name=\"picBLOB\" filename=\"image001.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:photoData]]; // <<< photoData is a UIImage
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[urlRequest setHTTPBody:body];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection
 sendAsynchronousRequest:urlRequest
 queue:queue
 completionHandler: ^( NSURLResponse *response,
                      NSData *data,
                      NSError *error)
 {
     if (error == nil)
     {
         // no error... do something if needed.
     } else
     {
         // error... do something if needed.
     }
 }];
}

テキストの場合は、URL に含めるだけです。このような:

NSMutableString *myString = [[NSMutableString alloc] initWithString:@"http://www.domain.com/4DACTION/"];
    [myString appendString:@"userID45"];
    NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:myString]
                                                                cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                            timeoutInterval:60];

私のサーバー側は URL 値を解析します。

注: 4D サーバーを使用しています。4DACTION はそのサーバーに固有のものであり、お使いのサーバーには適用されない場合があります。

于 2013-05-22T16:34:33.570 に答える
0

間違いはサーバーにある可能性があります。これらの変数を解析するコードの部分を投稿できますか? (申し訳ありませんが、まだ質問にコメントする能力がないため、明確にするために「回答」する必要があります)

于 2013-05-22T21:11:41.167 に答える