Ich versuche, ein Stück von Bytes in eine SQLite3-Datenbank einfügen, mit github.com/mattn/go-sqlite3.Einfügen von Byte-Slice in sqlite-Blob
Daten:
thmbnail := [255 216 255 219 0 132 ...]
erstellen Anweisung:
sqlStmt := `
create table result (id INTEGER NOT NULL PRIMARY KEY, fname TEXT, path TEXT,
size INTEGER, fMDate TEXT, fUUID TEXT, fSHA1 TEXT, fPRONOM TEXT, fNSRL INTEGER, fTHMB BLOB);
pragma journal_mode=WAL;
delete from result;
`
Insert:
func addEntryDB(stmt *sql.Stmt, entry fileMD) {
_, err := stmt.Exec(nil, entry.fName, entry.fPath, entry.fSize, entry.fMDate,
entry.fUUID, entry.fSHA1, entry.fPRONOM, entry.fNSRL, entry.fTHMB)
if err != nil {
log.Fatal(err)
}
}
Problem: Es werden nur die ersten vier Bytes von thmbnail eingeführt werden. Ich nehme an, dass dies mit dem 0-Byte an der fünften Position zusammenhängen könnte.
Wie kann das ganze [] Byte eingefügt werden?
Dies könnte verwandt sein. Aber der Fehler sollte behoben werden https://stackoverflow.com/questions/29452538/convert-blob-to-image-in-go – Steffen