可以在indexedDB中存储blob和arraybuffers(正如你可以看到here)。我的问题是,我将pdf文件存储在存储中,并希望在用户点击特定链接时“下载”它们。是否可以从本地indexDB数据库“下载”文件?
使用本机JavaScript或IndexedDB API是不可能的,但请查看即将推出的Filesystem API的FileWriter和BlobBuilder部分。
这个问题与IndexedDB无关,而只是简单地说“如何让用户保存Blob对象”。 Blob以相同的方式工作,无论你是从IndexedDB加载它还是从其他地方获得它。
如果一直实施,使用FileSaver将是最好的解决方案,但事实并非如此。
应该做的是做这样的事情:
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
var url = URL.createObjectURL(blob); // This is the magic!
iframe.src = url;
现在可以在indexedDb中保存Blob
objectStore.put({ id: idValue, blobdata: data })