2011-04-03 35 views
3

我想從Sqlite數據庫中獲取GIF/PNG/JPG圖像。 Monotouch中有沒有將Blob字段轉換爲圖像的方法?MonoTouch - 從Sqlite數據庫Blob中提取圖像

我猜測:

獲取數據字節[]從SQLite的到存儲器流:

UIImage.LoadFromData(NSData.FromStream(blob)); 

MemoryStream blob = new MemoryStream(blobFromSQLite[]); 

負載經由流的數據到一個NSData對象但是,如何從sqlite字段獲取流?

回答

4

做到這一點最簡單的方法是這樣的:

byte[] myBuffer = null; 
using (SqliteCommand sqlCom = new SqliteCommand(sqlCon)) //assuming sqlCon is your SqliteConnection 
{ 

    sqlCom.CommandText = "SELECT Images FROM MyTable WHERE Name = 'MyImage.png'"; 

    using (SqliteDataReader dbReader = sqlCom.ExecuteReader()) 
    { 

     if (dbReader.HasRows) 
     { 

      while (dbReader.Read()) 
      { 

       myBuffer = (byte[])dbReader["Images"]; 

      } 

     } 

    } 
} 

爲了得到它作爲一個UIImage,你不必使用流都:

UIImage.LoadFromData(NSData.FromArray(myBuffer));