创建服务器以从Iphone接收发布图像的最佳方法

时间:2012-09-06 08:25:27

标签: http webserver

我的目标是让用户将照片从iPhone发送到服务器进行处理。

如何创建接受HTTP Post请求的服务器。

2 个答案:

答案 0 :(得分:0)

您可以使用NSURLConnection将iPhone的HTTP请求发送到您的服务器。

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

接受POSTed字段

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

答案 1 :(得分: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];