Я использую SQLite.swift и хочу вставить UIImage в столбец типа «BLOB».
Моя таблица:
"CREATE TABLE IF NOT EXISTS " + TABLE_USER +
"(" +
COLUMN_ID + " INTEGER PRIMARY KEY, " +
COLUMN_NAME + " TEXT NOT NULL, " +
COLUMN_IMAGE + " BLOB" +
");";
После выбора изображения из галереи с помощью UIImagePickerController я хочу сохранить его в столбце «изображение» в базе данных. Я предполагаю, что мне нужно преобразовать UIImage в массив байтов (так я сделал это в java в другом проекте), но я не знаю, как это работает в Swift. Вот что я пробовал:
// convert image
let data = image!.pngData()! as NSData
let dataBytes = data.bytes
// prepare update statement
let updateStatement = "UPDATE " + DatabaseHelper.TABLE_USER + " SET " +
DatabaseHelper.COLUMN_IMAGE + " = ? " +
" WHERE " + DatabaseHelper.COLUMN_ID + " = " + String(id)
// run statement
do {
let statement = try dbConnection.prepare(updateStatement)
try statement.run(dataBytes) // Error: Cannot convert value of type 'UnsafeRawPointer' to expected argument type 'Binding?'
} catch {
print("Error...")
}
Кто-нибудь знает, как вставить изображение в столбец blob? Большое спасибо за твою помощь!
let data = image!.pngData()! as NSData
? - person El Tomato   schedule 17.01.2020