Ios 保存图像以便以后发送到数据库的简单方法?
嘿嘿,, 我对objective C相当陌生,我不称自己为程序员,而是一个有创造力的程序员(一个能让事情顺利进行的人,我不太在乎我的解决方案是否优雅;)。我有以下问题需要解决: 我的应用程序拍摄照片并将其存储在应用程序文档目录中。它将这些图像发送到自定义数据库。到目前为止工作还不错 一些测试用户要求离线拍摄他们的照片,每当他们再次打开应用程序并且互联网连接可用时,它就会将图像发送到数据库。 现在,我找到了一种非常简单的方法来测试这里是否有可用的internet连接: 到目前为止效果很好。接下来,我想知道在没有互联网连接的情况下,如何最好地保存需要发送的图像。我已经在我的应用程序中使用了NSUserDefaults。使用NSUserDefaults保存需要发送的图像的名称/路径,并在应用程序打开时读取这些名称/路径,然后在此时发送所有图像,这是一个简单的解决方案吗Ios 保存图像以便以后发送到数据库的简单方法?,ios,database,nsuserdefaults,Ios,Database,Nsuserdefaults,嘿嘿,, 我对objective C相当陌生,我不称自己为程序员,而是一个有创造力的程序员(一个能让事情顺利进行的人,我不太在乎我的解决方案是否优雅;)。我有以下问题需要解决: 我的应用程序拍摄照片并将其存储在应用程序文档目录中。它将这些图像发送到自定义数据库。到目前为止工作还不错 一些测试用户要求离线拍摄他们的照片,每当他们再次打开应用程序并且互联网连接可用时,它就会将图像发送到数据库。 现在,我找到了一种非常简单的方法来测试这里是否有可用的internet连接: 到目前为止效果很好。接下来
或者有人能推荐另一种简单的方法吗?欢迎您的建议 您可以将脱机图像保存在缓存目录中,并在internet连接可用时将其作为批处理图像上载。看看这篇文章
我认为默认是最好的方法。当internet连接可用时,请保留观察者,然后发送。以下是如何在NSUserDefault中保存图像的示例:
NSData *imageData = UIImageJPEGRepresentation(image, 1);
NSString *imagePath = [self documentsPathForFileName:[NSString stringWithFormat:@"image_%f.jpg", [NSDate timeIntervalSinceReferenceDate]]];
[imageData writeToFile:imagePath atomically:YES];
[[NSUserDefaults standardUserDefaults] setObject:imagePath forKey:kPLDefaultsAvatarUrl];
[[NSUserDefaults standardUserDefaults] synchronize];
注意:不应将图像数据直接保存到NSUserDefaults中如果要保存2-3-5个图像,NSUserDefaults可能是最好的方法,否则,在您的文档文件夹中使用coredata或创建plist,当您有internet时,您可以从coredata或plist获取所有路径并上载图像您可能可以使用NSUserDefaults。然而,我将采取一种非常实际和简单的方法:
- 创建一个保存图像的目录,但不能立即上载
- 当互联网可用时,上传这些
- 上传完成后,只需删除图片即可
- 每次启动应用程序/更改互联网连接时,请检查目录中是否还有图像