0

我正在尝试使用 NSURLConnection sendSynchronousRequest: 将二进制文件(JPEG 图像)发送到服务器。我的代码是:

// url contains the URL of the remote server.
// fileURL contains the URL for the local file to be sent.

request = [NSMutableURLRequest requestWithURL:url];
[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
[request setHTTPMethod:@"PUT"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBodyStream:[NSInputStream inputStreamWithURL:fileURL]];

responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];

if (requestError != nil) {
    NSLog(@"%@", requestError);
    return NO;
}

这几乎可以工作。远程服务器正确接收请求,并使用适当的 JSON 对象进行响应。但是 sendSynchronousRequest: 阻塞直到超时值,然后报告超时。

在其他地方,我能够使用几乎相同的代码模式正确发送和接收 JSON 对象,所以我很困惑为什么这个会超时。

4

0 回答 0