2017-04-20 46 views
0

我想上传文件到服务器,如citrix文件共享目前在App Store中。如何上传文件,在iOS应用程序中打开文件后?

使用URL方案,我能够证明我在打开应用程序时,该文件长按用,并将其复制到应用程序

如何上传的文件是“后打开方式复制到我的应用程序后。 。“?

        NSString *urlString =[NSString stringWithFormat:@"https://suremdm1jobs.s3.amazonaws.com/1210001/File%20Store/Shared/?X-Amz-Expires=126000&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIUWYTLGYBHPCWTNQ/20170426/us-east-1/s3/aws4_request&X-Amz-Date=20170426T060015Z&X-Amz-SignedHeaders=host&X-Amz-Signature=65b1dda18a96136d1bedd7c6da9bc8529b737370bb42f3328f24399763f48fbc"]; 

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

            [request addValue:@"7919" forHTTPHeaderField: @"Content-Length"]; 
            [request addValue:@"application/json" forHTTPHeaderField: @"Content-Type"]; 
            [request addValue:@"bytes 0-7918/7919" forHTTPHeaderField: @"Content-Range"]; 


            NSMutableData *putData = [NSMutableData data]; 
            [putData appendData:[NSData dataWithData:data]]; 


            // Append 
            [request setHTTPBody:putData]; 


            NSError *err; 
            NSURLResponse *response; 

            NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err]; 

            NSString *resSrt = [[NSString alloc]initWithData:responseData encoding:NSASCIIStringEncoding]; 

我在做什么错。我总是收到一个不受支持的Url错误(-1002)。

+0

你的字符串已经被编码了。例如。你的NSURLString中的空格是“%20”。当你调用[NSURL URLWithString:urlString]时,可能会再次转义该字符串?因此,你的新网址将是错误的。你可以登录,NSURL是怎么样的? – Lepidopteron

回答

0

使用它:

配置AFURLSessionManager *uploadSessiondefaultSessionConfiguration。 使用上述方法#2设置NSMutableURLRequest。 使用AFNetworking的uploadTaskWithStreamedRequest:progress:completionHandlerBottomline: backgroundSessionConfiguration不适用于流式多部分表单,我无法获得与uploadTaskWithRequest:fromFile:一起包含的其他数据。

相关问题