我正在尝试使用选项创建一个非常基本的库存应用程序,以在库存中包含项目照片。除了照片部分,我还有的所有工作...
I am trying to make a very basic inventory application with the option to include a photo of items in the inventory. I have everything working except the photo part...
我看过这个
phonegap.pbworks/iPhone%3A-Camera-API
我可以让相机工作,但似乎无法将图像添加到数据库中 -
and I can get the camera to work, but do not seem to be able to add the image to the database -
这里有一些代码
数据库定义/创建 - simage是照片应该去的地方
The database definitions/creation - simage is where the photo should go
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);' ); } );这是保存记录(拍照后)
Here is saving the record (after picture is taken)
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 ); } ); }有关我缺少什么的想法吗?
Any thoughts on what I am missing?
谢谢。
推荐答案你必须通过toDataUrl函数将图像(val()不能工作)转换为Base64画布......
You have to convert the image (val() isn't going to work) to Base64 via the toDataUrl function of the Canvas...
请参阅Jesse MacFadyen关于这样做的文章这里。有一点小问题,如果图像服务器源与页面源不一样,那么这段代码将无法在Phonegap之外工作,因为在画布中没有原点 - 清除标志,但这在Phonegap中运行时不影响页面...
See Jesse MacFadyen article on doing this here. One little gotcha, if the image server source is not the same the page source this code is not going to work outside of Phonegap due to not having an origin-clean flag in the canvas, however this does not affect the page when running in Phonegap...
更多推荐
Phonegap数据库问题
发布评论