2010-08-17 7 views
2

J'essaie de faire une demande d'inventaire très basique avec l'option pour inclure une photo des articles dans l'inventaire. J'ai tout travail, sauf la partie photo ...Phonegap Problème de base de données - stocker des images dans la base de données

J'ai regardé ce

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

et je peux obtenir l'appareil photo à travailler, mais ne semble pas être en mesure d'ajouter la image à la base de données -

est ici un peu du code

les définitions de base de données/création - simage est l'endroit où la photo doit aller

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);' 
      ); 
     } 
    ); 

Voici sauvegarde de l'enregistrement (après photo est prise)

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 
      ); 
     } 
    ); 

} 

Toute réflexion sur ce que je suis absent?

Merci.

Répondre

1

Vous devez convertir l'image (val() ne va pas au travail) à base64 via la fonction toDataUrl de la toile ...

article Voir Jesse MacFadyen à faire ce here. Un peu, si la source du serveur d'image n'est pas la même que la source de la page ce code ne fonctionnera pas en dehors de Phonegap dû to not having an origin-clean flag in the canvas, cependant cela n'affecte pas la page lors de l'exécution dans Phonegap ...

+1

.. puis enregistrer comme texte de cours, au lieu de BLOB dans la base de données. – Shazron

Questions connexes