Ok, Kyle McKay responded directly offline with the solution.

On my call:
NSData *picData;


sqlite3_bind_blob(preparedStatement, empProfPicDataPos, [picData bytes], 
picBytes, SQLITE_TRANSIENT);


I had originally used picData, not [picData bytes].


And therein lies the fact that given I rarely use NSData, inexperience rules 
the day.


Many thanks to Kyle... and I'd also like to thank myself for learning Forth 
some 36 years ago and the ease of working with pointers. :)


________________________
Joseph Rooney
Mobile Development

CommScope, Inc.
Hickory, NC
828-315-2920 Ext: 52920



From: Joseph Rooney <joseph.rooney at 
commscope.com<mailto:joseph.roo...@commscope.com>>
Date: Monday, January 18, 2016 at 6:46 PM
To: "sqlite-users at mailinglists.sqlite.org<mailto:sqlite-users at 
mailinglists.sqlite.org>" <sqlite-users at 
mailinglists.sqlite.org<mailto:sqlite-users at mailinglists.sqlite.org>>
Subject: Retrieved Blob Data has 16 Byte Header or ?

The process, working in iOS:


?         Retrieve an employee photo using web service call, encoded in Base64 
string

?         Convert Base64 string to NSData object - 3245 bytes

?         Store NSData object to a Blob in SQLite - 3245 bytes

?         Retrieve Blob to NSData object - 3245 bytes

?         The retrieved data will not display.

?         In comparing the hex input and retrieved output, I find there are 16 
bytes added to the head of the data and I'm 16 bytes short.

?         If I add the 16 bytes to the total when storing the data and then 
read back 3245 bytes at the location ptr + 16 bytes, I've got my proper data, 
which displays as normal.

Anyone have any insights into this?

_____________________________

Joseph Rooney
Mobile Development
Commscope, Inc.
Hickory, NC
828-315-2920 Ext: 52920

Reply via email to