我正在尝试使用该选项创建一个非常基本的库存应用程序 包括库存中的项目照片。我拥有了一切 除了照片部分以外的工作......
我看过这个
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
);
}
);
}
对我遗失的内容有任何疑问?
感谢。
答案 0 :(得分:1)
你必须通过Canvas的toDataUrl函数将图像(val()不能工作)转换为Base64 ...
请参阅Jesse MacFadyen有关执行此操作的文章here。有一点小问题,如果图像服务器源与页面源不一样,那么这段代码将无法在Phonegap to not having an origin-clean flag in the canvas之外工作,但这在Phonegap中运行时不会影响页面......