2010-07-24 122 views
0

我创建了一个iPhone应用程序,我目前正在开发一个Web应用程序,主要目标是让iPhone收集数据,然后将数据上传到web应用程序,以便用户可以查看和打印收集到的数据,数据上传完成后将从iphone上删除。从iPhone应用程序传输图像到在线网络应用程序

现在,我有图像存储在iphone的文件系统和保存在coreData中的路径,我编写了导出代码,将所有数据从coredata中提取出来,并将图像编码为base64字符串,并创建一个易于传输的json文件。所以现在这个由于图像编码而导致的json文件可能变得非常大,并且通过电子邮件发送它可能在大小约15MB后不可能实现。

所以我的问题实际上是两个方面,将这些图像与其相关数据传输到Web应用程序的最佳方法是什么,其次,如果我使用base64方式,我将如何将其转换回png文件保存在Web服务器文件系统上并将路径保存到mysql数据库。我真的很希望在上传过程中发生这一切。我忘了提及我可以将这个JSON文件传输到用户计算机上(以防万一邮件大小太大),然后用户将访问网站并上传它。

Web应用程序正在写入RUBY。

感谢您的任何建议。 iAm -

+0

为什么你想要通过用户计算机,而不是直接从iOS设备发送文件到Web应用程序? – vikingosegundo 2010-07-24 14:09:56

+0

我不想,我想直接从手机上的Web应用程序。让我看看你说的是什么并回到你的 – creativeKoder 2010-07-24 14:48:27

回答

0

我想,你不需要使用json,而是一个HTTP-Postrequest。我建议使用ASIHttpRequest,看到自己的章"Sending a form POST with ASIFormDataRequest"

发表评论回应

假设你有一个NSArray中的文件路径称为文件,这应该做的伎俩(未经测试

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
for (NSString *s in files){ 
    [request setFile:s forKey:[NSString stringWithFormat:@"file_%@", [files indexOfObject:s]]]; 
} 

编辑

也许你应该请检查"Streaming request bodies directly from disk"

+0

你知道这个方法是否可以处理批量上传,可能每行都有20行数据,我希望能够上传一个json文件并拥有web应用程序处理数据。我喜欢你给出的方法,只需要知道它是否可以处理批量加载,在我的iPad上使用iam,而不是在计算机上进行测试,所以如果你知道离手的话...... – creativeKoder 2010-07-24 14:57:20