我正在开发一个集成了dropbox的应用程序。登录是正确的,我也能够在dropBox中创建文件夹。但是当我尝试加载文件时,我得到了错误
下面的错误我得到
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}当我创建文件夹时,我没有得到这个错误。
发布于 2013-04-25 18:05:05
我在iPhone上使用iOS 5.0时也遇到了同样的问题,但是iPhone 6.1模拟器可以正常工作,不会产生错误消息。
我研究了DropboxSDK / DBRestClient.m,特别是uploadFile:toPath:fromPath:params的最后几行,并在DBRequest上实现了一个categorie 'ExBody‘来添加connection: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上!
发布于 2013-04-20 14:12:01
错误-1021是一个NSURLErrorRequestBodyStreamExhausted错误。
根据documentation,您缺少一个委托方法:
NSURLErrorRequestBodyStreamExhausted
需要正文流但客户端不提供时返回。这会影响iOS上的客户端,这些客户端使用正文流发送POST请求,但没有实现NSURLConnection委托方法connection:needNewBodyStream。在OS X v10.7及更高版本中可用。
https://stackoverflow.com/questions/16117275
复制相似问题