我正在尝试打开我使用 xhrrequest 下载并使用文件系统 API 在 Windows 8 操作系统上使用我的 google chrome 浏览器(版本 30.0.1599.101 m)存储并托管在 IIS8 中的数据库。
我可以在本地文件系统的用户文件夹中找到并打开该文件。我用 sqllitebrwser 打开文件,数据似乎存在。但是在文件夹 C:\Users\Ian\AppData\Local\Google\Chrome\User Data\Default\File System\001\p\00 中,它的名称为“00000000”。我觉得这很正常?
当我使用以下代码时,它说它可以在文件系统上找到该文件。
function go() {
console.log('requesting file system...');
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.webkitStorageInfo.requestQuota(PERSISTENT, 10 * 1024 * 1024, function (grantedBytes) {
window.requestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler);
}, function (e) {
console.log('Error', e);
});;}
function onInitFs(fs) {
console.log('Opened file system: ' + fs.name);
fs.root.getFile('test.mbtiles', {create:false}, function (fileEntry) {
var fullPath = fileEntry.fullPath;
console.log('got file');
var db = openDB();
}, errorHandler);}
当我尝试执行查询时。
function openDB(){
var shortName = 'test.mbtiles';
var version = '1.0';
var displayName = 'test.mbtiles';
var maxSize = 100000; // in bytes
var db = openDatabase(shortName, version, displayName, maxSize);
db.transaction(
function (transaction) {
transaction.executeSql('SELECT * FROM images', [], nullDataHandler, dbErrorHandler);
}
);
return db;}
我收到错误“错误无法准备语句(1 没有这样的表:图像)(代码 5)”
我之前有过这个,我很确定 windows.openDatabase 命令找不到数据库,因此创建了一个空白数据库。
我想知道为什么 window.opendatabase 找不到数据库。我认为它在错误的地方寻找,但我如何将 window.opendatabase 指向正确的位置,作为浏览器的持久存储。我一直在寻找一段时间,我只能找到仅使用文件名的 window.opendatabase 示例。
感谢您的任何帮助。