我正在开发一个客户端音乐播放器,我正在寻找一种方法来保存播放列表以及mp3数据。
localStorage的 localStorage的5mb限制规则选项输出。我想知道还有其他选择。
DataURIs 我读过有关dataURI的信息,例如 Is there any way to specify a suggested filename when using data: URI? 和Cross-browser Save As .txt 但不建议使用默认文件名,特别是缺乏IE支持是破坏者。
索引资料 HTML5 indexedDB and persistence lifetime表明IndexedDB不是持久存储的选项。
我有遗失的选择吗?我希望如此!
谢谢, 安德鲁
答案 0 :(得分:3)
我现在有一个适用于IE,Chrome和Firefox的解决方案,灵感来自:Javascript set file in download
IE10 +解决方案使用msSaveBlob,代码为:
if (navigator.msSaveBlob) {
var blob_object = new Blob([store_string], {type: mime_type});
return navigator.msSaveBlob(blob_object, filename);
}
对于Chrome / Firefox,它使用下载属性:
else if ('download' in a) {
blob_object = new Blob ([store_string], {type: mime_type});
a.href = URL.createObjectURL(blob_object);
a.setAttribute("download", filename);
a.innerHTML = "downloading...";
d.body.appendChild(a);
setTimeout(function() {
a.click();
d.body.removeChild(a);
}, 66);
return true;
}
我还没有调查过Safari,Opera或任何移动浏览器......
答案 1 :(得分:2)
否 - 跨浏览器的SaveAs解决方案无法。
Chrome,IE和& FF都支持一种(或多种)方式以编程方式触发文件的下载(和saveAs对话框)。 Safari不支持此功能。