无法在NSURLConnection中执行HTTP PUT操作

时间:2015-02-20 12:16:34

标签: ios objective-c http nsurlconnection nsurlsession

您好我正在尝试NSURLConnection中的Http PUT方法。 我将数据文件发布到亚马逊s3路径。

  -(void)postFaceVideo{

   NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://face_video.s3.amazonaws.com/chunks/?AWSAccessKeyId=MYKEY&Expires=1424373411&Signature=MYSIGNATURE"]];


 [request setHTTPMethod:@"PUT"];
 [request setHTTPBody:appDelegate.faceData];  // This is the saved NSData
 [request setTimeoutInterval:200];

    conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    if (conn) {
        webData = [NSMutableData data];
      }


    }

在它工作正常之前,但现在服务器中都没有发布任何数据,也没有任何响应。可能是什么原因?

Xcode 6中的这些方法是否有任何变化,因为之前我在使用Xcode 5时工作正常。

我也尝试过如下NSURLSession。

  -(void)postFaceVideo2{

      NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://face_video.s3.amazonaws.com/chunks/?AWSAccessKeyId=MYKEY&Expires=1424373411&Signature=MYSIGNATURE"]];


    [request setValue:[NSString stringWithFormat:@"%d",appDelegate.faceData.length] forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded;charset=UTF-8" forHTTPHeaderField:@"Content-Type"];


    request.HTTPMethod = @"PUT";
    request.HTTPBody = appDelegate.faceData;


    NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data,NSURLResponse *response, NSError *error)
                              {
      if (!error)
    {

      NSLog(@"Status code: %i", ((NSHTTPURLResponse *)response).statusCode);

     NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] ;

            }
    else
        {
  NSLog(@"Error: %@", error.localizedDescription);
  NSLog(@"Error: %@", error.description);
                    }
             }];

  [task resume];

 }

我在这里收到错误 -

         Error: Error Domain=NSURLErrorDomain Code=-1001 "The operation couldn’t be completed. (NSURLErrorDomain error -1001.)" UserInfo=0x171cadb0 {NSErrorFailingURLKey=https://video_test.s3.amazonaws.com/chunks_dev/21662/facescan_1?Signature= MYSIGN =&Expires=1424381789&AWSAccessKeyId=MYID, NSErrorFailingURLStringKey=https://video_test.s3.amazonaws.com/chunks_dev/21662/facescan_1?Signature=MYSIGN=&Expires=1424381789&AWSAccessKeyId=MYID, NSUnderlyingError=0x171b30c0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1001.)"}

0 个答案:

没有答案