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];
}];
}
6KB 未満の小さな PNG および JPG ファイルをアップロードできますが、データベースに対してカメラ画像が大きすぎると思いますか? それとも、電話接続で送信するには大きすぎますか? どうすれば小さくできますか?
TodoService を使用してデータをサーバーにアップロードしています。