2017-04-20 4 views
0

私はApp Storeに存在するcitrix fileSharingのようなファイルをサーバーにアップロードしようとしています。私は、ファイルを長押しして、それが持つオープン」した後、自分のアプリケーションにコピーされた後にファイルをアップロードする方法アプリケーションファイルをアップロードするには、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]を呼び出すと、Stringが再びエスケープされることがありますか?したがって、あなたの新しいURLは間違っています。 NSURLの様子をログに記録できますか? – Lepidopteron

答えて

0

は、それを使用します。

defaultSessionConfigurationとしてAFURLSessionManager *uploadSessionを設定します。 上記の方法2を使用してNSMutableURLRequestを設定します。 AFNetworkingのuploadTaskWithStreamedRequest:progress:completionHandlerを使用してください: Bottomline: backgroundSessionConfigurationはストリーミングマルチパート形式では機能せず、uploadTaskWithRequest:fromFile:に追加するデータを取得できませんでした。

関連する問題