我开始研究windows azure cloud以及如何在iOS中使用它。我的目标是创建一个应用程序,上传使用iPhone相机拍摄的照片并将其存储到azure。
我在www.windowsazure.com/上开了一个azure帐户,并按照页面中的说明创建移动服务。然后我下载了快速入门的xcode项目,它自动连接到我新创建的移动服务。
文字上传就像一个魅力我能够使用快速启动应用程序将文本存储到移动服务。当我想存储用iPhone相机拍摄的图像时,问题就出现了。
我创建了另一个视图来快速启动项目,我可以启动相机,当拍摄照片时,它存储到UIImageView。然后,当我单击发布按钮时,我运行此代码:
- (IBAction)PublishButtonPressed:(id)sender {
NSString *imageData = nil;
if (self.PhotoImageView.image != nil) {
NSData* data = UIImagePNGRepresentation(self.PhotoImageView.image);
[Base64 initialize];
imageData = [Base64 encode:data];
}
int tmp = imageData.length;
NSDictionary *item = @{ @"text" : self.ImageTextField.text, @"complete" : @(NO), @"imageString":imageData };
[self.todoService addItem:item completion:^(NSUInteger index){
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Photo uploaded successfully" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}];
}
我可以上传一个小的PNG和JPG文件,小于6KB,但我认为相机图像对我的数据库来说太大了?或者它是否太大而无法与手机连接发送?我怎样才能让它变小?
我正在使用TodoService将数据上传到服务器。
答案 0 :(得分:0)
您将要使用Blob存储而不是SQL数据库。我建议使用SQL db作为“虚拟”或保存其他信息,如使用配置文件详细信息。您可以通过“数据”选项卡中的脚本访问Blob存储。