画像パスをドキュメントフォルダに保存し、パスをsqlite3ローカルデータベースに保存するのに問題があります。
今日、私は画像をBLOBとしてデータベースに正常に保存しましたが、インターネットを読んで、これは推奨されないと言われました。
だから、今私はDBに画像パスを保存しようとしていますが..
状況
- ユーザーがボタンをタップして(UIImagePickerViewを介して)画像を選択するか、新しい写真を撮ります
- 画像を選択すると、選択した画像でimageViewが設定されます。
ピッカーのコード:
-(void)imagePickerController:(UIImagePickerController *)pickr didFinishPickingMediaWithInfo:(NSDictionary *)info{
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
/* Test code for saving data */
//NSString *dir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
//NSString *pngPath = [NSString stringWithFormat:@"%@/test.png",dir];
//NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)];
//[data writeToFile:pngPath atomically:YES];
[imageView setImage:image];
picture = YES;
[pickr dismissModalViewControllerAnimated:YES];
}
今、私はいくつかの質問を受けました
- 私のデータベースでは、イメージはBLOBタイプです。TEXTに編集する必要がありますか?
- パスはどのように保存されますか?つまり、テストコードでは/test.pngは一般的な画像名です。選択した画像名も保存され、取得できるようになりますか?または、ライブラリから選択した画像を「IMG0001」という名前で保存すると、「テスト」として保存されますか?
- 画像をドキュメントフォルダに保存し、DBにパスしてから取得する正しい方法は何ですか?
私は答えを見つけるためにたくさんググったが、たくさん実験した後、私はあきらめた。
前もって感謝します