asihttpメソッドを使用したくないので、getリクエストを使用せずにサーバーからファイルをダウンロードする方法はありますか?ポストリクエストを使用してサーバーからファイルをダウンロードするにはどうすればよいですか?
1 に答える
0
OPは関係なく答えを求めているので、これにはPHPを使用します。
iOS クライアント側:
NSString *phpURLString = [NSString stringWithFormat:@"%@/getFile.php", serverAddress];
NSURL *phpURL = [NSURL URLWithString:phpURLString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:phpURL];
NSString *post = [NSString stringWithFormat:@"filePath=%@", filePath];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding];
NSString *postLength = [NSString stringWithFormat:@"%d", [post length]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]:
PHP 側の場合:
<?php
$filePath = htmlspecialchars($_POST['filePath']);
$fileData = file_get_contents($filePath);
echo $fileData;
?>
これは非常に基本的なことです。また、iOS 側では、バックグラウンドで非同期に実行されるコード ブロックでその要求全体をラップする必要があります。そのためにGCDを使用できます。iOS でファイルを responseData として取得したら、そのファイルをローカル コンテナーに保存して、それを使用して多くのことを実行できます。
于 2012-08-02T03:52:32.730 に答える