1

My goal is to have a user send a photo from their iPhone to a server for processing.

How would I create a server that accepts HTTP Post requests.

4

2 回答 2

0

您可以使用NSURLConnection从 iPhone 向服务器发送 HTTP 请求。

如果您使用的是 PHP,您可以使用 POSTed 字段$_POST['fieldname']

此链接应该可以帮助您入门: http: //php.net/manual/en/reserved.variables.post.php

于 2012-09-06T08:59:41.303 回答
0

使用 PHP,您可以执行以下操作:

<?php

    if(isset($_POST[someKey]))
    {
        // do something funky   
    }

?>

就像其他人说的那样,购买一个简单的网络托管服务器,比如 Hostgator (http://www.hostgator.com/) 然后在他们为您提供的 cPanel 后端,创建一个 FTP 帐户来上传文件,或者您可以使用 cPanel 上传文件。

将您的 PHP 脚本上传到服务器并进行测试。

这是编写 iPhone + PHP Web 服务的教程:

http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app

要发布到服务器,您可以使用 AFNetworking (https://github.com/AFNetworking/AFNetworking) 之类的东西

使用 AFNetworking 上传图片的示例代码(如果您没有点击,则从上面的链接中窃取:D):

NSURL *url = [NSURL URLWithString:@"http://api-base-url.com"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5);
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
    [formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
}];

AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:request] autorelease];
[operation setUploadProgressBlock:^(NSInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
    NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite);
}];
[operation start];
于 2012-09-06T09:10:16.823 回答