2017-06-27 7 views
0

SQLiteで画像を保存したりフェッチしたり、画像を保存する方法を教えてください。例を用いて説明すると、より役に立ちます。スウィフトでSqliteで画像を保存および取得する

+0

あなたはsqliteの中でイメージ名を追加して、ドキュメントディレクトリに画像を保存する必要があります。 – KKRocks

+0

あなたのイメージはローカルまたはサーバーのURLです。同時にオフラインでイメージを使用したい場合は –

+0

スピーディーな例で詳しく説明できます –

答えて

2

画像自体は、データベースの列に格納することはできませんが、あなたは最初の文字列に変換し、それを保存することができます。この文字列はbase64文字列と呼ばれます。私が知る限り、どんなイメージでもそれを逆に変換することができます。

let image : UIImage = UIImage(named:"imageNameHere")! 
let imageData:NSData = UIImagePNGRepresentation(image)! 
let strBase64 = imageData.base64EncodedString(options: .lineLength64Characters) 

今すぐあなたのUIImageオブジェクトを文字列に変換されます。ベース64にエンコードするために

! strBase64をSQLite DBに保存します。この文字列は非常に長いため、列タイプとしてtextを使用することを忘れないでください。

はUIImageに戻ってデコードするには:

let dataDecoded:NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions(rawValue: 0))! 
let decodedimage:UIImage = UIImage(data: dataDecoded)! 
+0

あなたの明確な説明をありがとうございます。 –

0

sqliteに画像を保存することはできません。

あなたがする必要がある事は、ドキュメントディレクトリに画像を保存

  1. です。
  2. イメージファイルのパスまたはイメージ名をsqliteに保存します。
  3. イメージパスまたは名前をsqliteから取得し、ドキュメントディレクトリからそのパスにアクセスします。

テイク参考:Iphone : How to Display Document Directory images in Image View?