我的目标是让用户将照片从iPhone发送到服务器进行处理。
如何创建接受HTTP Post请求的服务器。
答案 0 :(得分:0)
您可以使用NSURLConnection
将iPhone的HTTP请求发送到您的服务器。
如果您使用的是PHP,则可以使用$_POST['fieldname']
此链接可帮助您入门: 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];