上传数据到服务器IPhone

问题描述:

我想开发一个iPhone应用程序,允许用户在应用程序中拍摄并保存照片。此外,只有在输入“标题”,“位置”和“附加信息”等数据时,用户才可以将图像上传到服务器。上传数据到服务器IPhone

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

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

因为我是网络服务器的新手,我的问题是上传图片和自定义信息的最佳方式是什么?

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

在此先感谢

+0

这些是许多不同的问题和答案取决于许多其他的东西,如规模,你的专业知识,预算,安全问题......如果你分解并提出更具体的问题,人们可以帮助你在这里。 – Ali 2012-03-01 17:33:09

你必须创建Web服务器的iPhone可以以POST数据到Web服务器上的联系的API。您可以简单地创建NSURLConnection以构建数据包以从iPhone应用程序发布数据。

在NSURLConnection中,您可以将其指定为POST数据包,然后将数据添加到请求的主体中。你的图像数据应该被转换为UTF8并作为nvarchar或者你的数据库中的那些行存储。

明白,这是你不得不做的概述,不知道你的web应用程序的内部工作情况,我不能给你具体的细节。

+0

感谢您的回复。 我知道如何通过POST发送NSURLConnection数据。我不知道的是服务器如何接受和保存数据。我需要创建哪种API? – pmk 2012-03-06 10:33:19

+0

什么是您的Web应用程序配置? ASP.NET MVC,ASP.NET WebForms,PHP,...等。 – bdparrish 2012-03-06 11:07:31

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

首先,转换的UIImage到NSData的使用:

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

然后,您可以使用由马特·加拉格尔创造了一些有用的类将它转换为Base64编码字符串 - 见this post here。在可供下载的代码中,有一个NSData + Base64编码类,允许您将数据转换为字符串:

NSString *imgBase64 = [imgData base64EncodedString]; 

一旦你有了这个字符串,可以将其发布到服务器,无论是商店字符串或将其解码并将其保存在服务器上作为图像文件。你应该能够找到一个如何使用你选择的技术做到这一点的例子。

+0

感谢您的回复。这听起来很有趣,我会告诉你这是否适合我。 – pmk 2012-03-06 10:35:19