0

iPhone経由でRESTAPIを使用してAmazonS3サービスからGETしたり、AmazonS3サービスにPOSTしたりするための提案はありますか。可能ではないようですが、ドキュメントを間違って読んでいる可能性があります。

よろしくお願いします!

L。

4

2 に答える 2

2

NSURLRequest を使用して、必要なことを実行できるはずです。

NSMutableData* _data = nil;

- (IBAction) doIt:(id)sender {
    NSURL* url = [NSURL URLWithString: @"http://theurl.com/"];
    NSMutableURLRequest* req = [NSMutableURLRequest requestWithURL: url];
    NSURLConnection* con = [NSURLConnection connectionWithRequest: req delegate: self];
    NSData* body = [@"body of request" dataUsingEncoding: NSUTF8StringEncoding];

    _data = [NSMutableData new];
    [req setHTTPMethod: @"POST"];
    [req setHTTPBody: body];
    [con start];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [_data appendData: data];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSString* result = [[[NSString alloc] initWithData: _data encoding: NSUTF8StringEncoding] autorelease];

    // process your result here
    NSLog(@"got result: %@", result);
}

これにはエラーチェックがなく、_data変数はインスタンス変数に格納する必要がありますが、一般的な考え方はうまくいくはずです。また、ボディ データのエンコーディングなどをサーバーに伝えるために、いくつかのリクエスト ヘッダーを設定する必要がある場合もあります。

于 2009-06-16T23:22:50.313 に答える