将数据上传到服务器IPhone

时间:2012-03-01 17:27:29

标签: iphone objective-c webserver file-handling

我想开发一款iPhone应用程序,允许用户在应用程序中拍摄并保存照片。此外,如果数据类似于" title"," location"则仅允许用户将图像上传到服务器。和"其他信息"进入了。

如果这样做,则应将图像和所有物数据上传到我的网络服务器。

我已经构建了一个从服务器检索数据的应用程序,因此建立连接不会是问题。

由于我是网络服务器新手,我的问题是上传图片并结合自定义信息的最佳方式是什么?

存储图像和所属信息的好方法是什么?我的猜测是用于信息的MySQL数据库(标题,位置,附加信息,图像链接),以及图像怎么样? 我在哪里可以阅读有关Web服务器上的文件处理的内容?

提前致谢

2 个答案:

答案 0 :(得分:1)

您必须在iPhone可以联系的Web服务器上创建一个API,以便将数据发布到您的Web服务器。您只需创建一个NSURLConnection即可构建数据包,以便从iPhone应用程序发布数据。

在NSURLConnection中,您可以将其告知POST数据包,然后将数据添加到请求正文中。您的图像数据应转换为UTF8并存储为nvarchar或数据库中这些行的内容。

明白,这是对您必须做的事情的概述,如果不了解您的Web应用程序的内部工作原理,我无法向您详细说明。

答案 1 :(得分:1)

我建议将图像转换为base64表示,然后您可以在Web服务调用中发布。

首先,使用:

将UIImage转换为NSData
UIImage *img = [UIImage imageNamed:@"MyImage.png"];
NSData *imgData = UIImageJPEGRepresentation(img, 1.0);

然后,您可以使用Matt Gallagher创建的一些有用的类将其转换为base64编码的字符串 - 请参阅this post here。在可供下载的代码中,有一个NSData + Base64类,允许您将数据转换为字符串:

NSString *imgBase64 = [imgData base64EncodedString];

获得此字符串后,您可以将其发布到服务器,然后存储字符串或对其进行解码并将其作为映像文件保存在服务器上。您应该能够找到使用所选技术的示例。