NSURLErrorDomain错误-1021

我正在开发一个应用程序,我集成了Dropbox。 login正确完成,我也能够在dropBox中创build文件夹。 但是,当我尝试加载文件,我得到错误

以下错误我越来越

error making request to /1/files_put/dropbox/Info.plist - Error Domain=NSURLErrorDomain Code=-1021 "The operation couldn't be completed. (NSURLErrorDomain error -1021.)" UserInfo=0x6859bc0 {destinationPath=/Info.plist, sourcePath=/Users/bcod/Library/Application Support/iPhone Simulator/5.0/Applications/0E1EE43C-8F6B-40FA-8696-D3992DA2DCE5/DBRoulette.app/Info.plist} 

当我创build文件夹时,我没有收到这个错误。

我在iPhone上有与iOS 5.0相同的问题,但iPhone 6.1模拟器没有创build错误消息工作。

我看了一下DropboxSDK / DBRestClient.m,特​​别是uploadFile:toPath:fromPath:params的最后一行,并在DBRequest上实现了一个类ExBody来添加连接:needNewBodyStream方法:

 #import "DBRequest+ExBody.h" @implementation DBRequest (ExBody) #pragma mark NSURLConnection delegate methods - (NSInputStream *)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)req { NSString * sourcePath = [userInfo objectForKey:@"sourcePath"]; NSLog(@"%@ needs newBodyStream!", sourcePath); return [NSInputStream inputStreamWithFileAtPath:sourcePath]; } @end 

这对我有效。 该方法在iOS5上调用,而不是在iOS6上调用!

错误-1021是一个NSURLErrorRequestBodyStreamExhausted错误。

根据文档你缺less一个委托方法:

NSURLErrorRequestBodyStreamExhausted
当需要正文stream时返回,但客户端不提供。 这会影响使用正文stream发送POST请求的iOS客户端,但不会实现NSURLConnection委托方法连接:needNewBodyStream。 在OS X v10.7及更高版本中可用。