2010-08-17 147 views
2

我正在嘗試使用選項 製作一個非常基本的清單應用程序,以在清單中包含項目照片。我所擁有的一切 除了照片的一部分工作...Phonegap數據庫問題 - 將圖像存儲在數據庫中

我已經看過這個

http://phonegap.pbworks.com/iPhone%3A-Camera-API

,我可以拿相機的工作,但似乎並沒有能夠添加 的圖像數據庫 -

這裏是一個位碼

數據庫定義/創建 - SIMAGE是照片的地方去

db.transaction(
     function(transaction) { 
      transaction.executeSql(
       'CREATE TABLE IF NOT EXISTS entries (' + 
       'id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, ' + 
       'date DATE, sitem TEXT, snumber TEXT, ' + 
       'scategory TEXT, scost TEXT, simage BLOB);' 
      ); 
     } 
    ); 

下面是保存記錄(拍攝照片後)

function insertEntry() { 
    var date = sessionStorage.currentDate; 
    var snumber = $('#number').val(); 
    var sitem = $('#item').val(); 
     var scategory = $('#category').val(); 
     var scost = $('#cost').val(); 
     var simage = $('#image').val(); 
    db.transaction(
     function(transaction) { 
      transaction.executeSql(
       'INSERT INTO entries (date, sitem, snumber, scategory, 
scost, simage) VALUES (?, ?, ?, ?, ?, ?);', 
       [date, sitem, snumber, scategory, scost, simage], 
       function(){ 
        refreshEntries(); 
        jQT.goBack(); 
       }, 
       errorHandler 
      ); 
     } 
    ); 

} 

任何思考我缺少的是什麼?

謝謝。

回答

1

你必須通過Canvas的toDataUrl函數的圖像(VAL()是行不通的)轉換爲Base64 ...

見傑西·麥克菲迪恩文章做這個here。一個小問題,如果圖像服務器源不同,頁面源代碼不會在Phonegap之外工作,因爲to not having an origin-clean flag in the canvas,但是這不會影響在Phonegap中運行時的頁面...

+1

..然後保存它當然是文本,而不是數據庫中的BLOB。 – Shazron 2010-08-17 22:58:16