Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过it将图像上载到DropBox服务器';iOS中的s核心api提供程序错误_Ios_Iphone_Objective C_Web Services_Dropbox Api - Fatal编程技术网

通过it将图像上载到DropBox服务器';iOS中的s核心api提供程序错误

通过it将图像上载到DropBox服务器';iOS中的s核心api提供程序错误,ios,iphone,objective-c,web-services,dropbox-api,Ios,Iphone,Objective C,Web Services,Dropbox Api,我正在使用DropBox core api OAuth 2.0身份验证,并试图通过其核心api上传UIImage / 在(/files(POST))找到 我的代码是 -(void)uploadData:(NSData *)imageAsData and:(NSString *)fileName{ NSString *urlString=[NSString stringWithFormat:@"https://api-content.dropbox.com/1/files/dropbox/App

我正在使用DropBox core api OAuth 2.0身份验证,并试图通过其核心api上传UIImage

/

在(/files(POST))找到

我的代码是

-(void)uploadData:(NSData *)imageAsData and:(NSString *)fileName{

NSString *urlString=[NSString stringWithFormat:@"https://api-content.dropbox.com/1/files/dropbox/Apps?access_token=%@",dropBoxToken];


NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];


NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];


NSMutableData *body = [NSMutableData data];

[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"Content-Disposition: attachment; name=\"attachement\"; filename=\"%@\";",fileName] dataUsingEncoding:NSUTF8StringEncoding]];


[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageAsData]];
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"--%@--\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(@"returnString=%@",returnString);
其中,图像和文件名的NSData中的imageAsData为“abc.jpg”

returnString的输出为{“error”:“文件参数值'None'无效”}


我不知道为什么会出现这个问题,请帮助我。

请省去很多麻烦,改用简单得多的端点。(文档中建议使用它是有原因的。)

粗略编辑代码(未经测试):

-(void)uploadData:(NSData *)imageAsData and:(NSString *)filePath {

    NSString *urlString=[NSString stringWithFormat:
        @"https://api-content.dropbox.com/1/files_put/dropbox/%@?access_token=%@",
        filePath, dropBoxToken];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:urlString]];
    [request setHTTPMethod:@"PUT"];

    [request setHTTPBody:imageAsData];

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

    NSLog(@"returnString=%@",returnString);
}