我有一个应用程序编写在Monotouch
中,它提供的一个功能是拍摄照片,然后将其同步回服务器上的Sybase Sql Anywhere
数据库。此机制在我们的应用程序的Windows
版本上正常工作,但在iOS
上,我们遇到了有关将照片保存在iPad或iPhone上的Sybase Ultralite
数据库中的技术问题。简而言之,如果我们在iPhone上将分辨率设置为非常低,则照片可以正确保存,但如果分辨率较高,则会失败。该问题与正在保存的图像数据的大小有关。在iPad
上,照片通常大于iPhone
拍摄的照片,因此在iPad
上保存到数据库的失败次数比iPhone
更多。使用iOS存储和同步图像
无论如何,这只是我们的情况的一些背景和实际Ultralite
问题不是这个问题的重点。我在这里寻找的是替代解决方案(Objective-C
或Monotouch
)提供此功能。我立即考虑保存到本地数据库,然后将照片数据复制回服务器,因为我有很多数据库复制的经验。但也许有更好的方法来解决这个问题?
该解决方案必须允许应用程序:
- 保存照片,以便它
- 必须允许照片(即使该设备的应用程序或重启关机后)在本地可用拍摄并保存离线,因为互联网连接并不总是可用的。
- 将图像数据同步回服务器数据库,或将URL同步回到后台的应用程序可以检索照片。很显然,在同步时,应用程序必须在线。
任何人都可以提出解决方案或API的,可以让我提供这个功能,而不必同步图像数据?我正在考虑将图像保存到云端,然后只同步一个可在后台使用的URL来检索照片。有什么建议么?
嗨尤金。感谢您的回答。是的,你是对的,如果使用CoreData存储图像然后再同步数据,那么当照片拍摄时应用程序处于离线状态这一事实是无关紧要的。我在考虑保存在云中,这样数据就不需要同步,但是应用程序的离线性使得这个选项不切实际。我之前使用过ASIHTTPRequest,并且必须同意使用它非常简单。感谢您对此的建议。 – BruceHill 2012-08-02 08:09:35