如何在sqlite中插入图像
How to insert image in sqlite?
我正在使用cordova开发一个跨平台应用程序
我需要在sqlite中插入图像。我得到了很多android的代码,但我发现很难使用javascript。当我在iPhone中运行以下代码时,我得到了err.code:5
。
document.addEventListener("deviceready", onDeviceReady, false);
var img;
var currentRow;
var b = new Blob();
function previewFile() {
// var preview = document.querySelector('img');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
// var package_name = document.getElementById("pr").value;
reader.onloadend = function () {
// img = reader.result;
if(file.type.match('image.*'))
{
img = reader.result;
// ref.push({"image":image,"service":arr,"package_name":package_name});
}
else
{
alert("select an image file");
}
}
if (file) {
reader.readAsDataURL(file);
} else {
preview.src = "";
}
var image1 = encodeURI(img);
// var b = new Blob();
b = image1;
console.log(b);
console.log(image1);
//document.write('<img src="'+image+'"/>');
}
function onDeviceReady() {
var db = window.sqlitePlugin.openDatabase({name:"sqlite"});
db.transaction(populateDB, errorCB, successCB);
}
function populateDB(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id INTEGER PRIMARY KEY AUTOINCREMENT, name,number,image BLOB)');
}
function insertDB(tx) {
tx.executeSql('INSERT INTO DEMO (name,number,image) VALUES ("' +document.getElementById("txtName").value
+'","'+document.getElementById("txtNumber").value+'","' +b+ '")');
}
function goInsert() {
var db = window.sqlitePlugin.openDatabase({name:"sqlite"});
db.transaction(insertDB, errorCB, successCB);
}
我的html代码:
<input type="file" onchange="previewFile()">
<button onclick="goInsert()">Insert</button>
如何做到这一点。有人能帮我吗?提前感谢。。。
将图像(在内存中)转换为byte[],然后将其保存为varbinary(max)。
将blob插入数据库会使您的应用程序既慢又滞后,而是将所选图片的路径保存到数据库中。
当您想将图像上传到服务器时,请使用cordova的文件上传功能。
如果您从服务器获取图像,请在本地下载该图像并将该路径保存到数据库中
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
function onFileSystemSuccess(fileSystem)
{
fileSystem.root.getFile(
"dummy.html", {create : true, exclusive : false},
function gotFileEntry(fileEntry)
{
var sPath = fileEntry.fullPath.replace("dummy.html", "");
var fileTransfer = new FileTransfer();
fileEntry.remove();
fileTransfer.download(
"http://www.w3.org/2011/web-apps-ws/papers/Nitobi.pdf",
sPath + "theFile.pdf",
function(theFile)
{
console.log("download complete: " + theFile.toURI());
showLink(theFile.toURI());
},
function(error)
{
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code: " + error.code);
}
);
}, fail);
}, fail);
相关文章:
- 用于插入图像的 JavaScript
- 如何使用[Package CollectionFS]在插入图像之前检查宽度和高度
- PDF.js插入图像
- 如何在 Firefox 扩展的 JavaScript 中的按钮背景中插入图像
- 如何使用我自己的所见即所得编辑器插入图像
- 在html画布代码中插入图像不起作用
- 单击时在文本之间插入图像节点
- 如何使用javascript在文本之间插入图像节点
- 当我们单击按钮时,如何在 ckeditor 中插入图像
- 根据表格内容插入图像
- Javascript office api 在 PowerPoint 中插入图像
- 如何将今天的日期插入图像 URL
- 使用 jQuery 动态插入图像
- JavaScript 插入图像
- CKEditor只在编辑器中正确插入图像,但在提交后不会在网页上显示图像
- 如何在Javascript中插入图像而不是使用文本
- 在跨度位置插入图像
- 在段落列表后插入图像列表
- Three.js插入图像
- 在fckeditor中插入图像时出错