我有以下功能使用blob
...
var saveData = (function () {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
return function (data, fileName) {
var json = JSON.stringify(data),
blob = new Blob([json], {type: "octet/stream"}),
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
};
}());
我将以下数据传递给它......
var filename = "style.css";
var data = CSSFile //CSS string
saveData(data, filename)
我的data
是一系列CSS属性,我想将其保存为CSS文件。问题是,当我打开下载的CSS文件时,它看起来像......
"html, body {....} ... "
注意它被双引号括起来。我需要删除这些。我试过以下......
CSSFile = CSSFile.substring(0, CSSFile.length - 1);
saveData(data, filename)
但所有这一切都是删除双引号内的第一个字符......
"tml,body{...}..."
如何在没有双引号的情况下保存字符串?
答案 0 :(得分:0)
您在字符串中获得引号,因为当它已经是字符串时,您通过JSON.stringify运行它。
试试这个。
var saveData = (function () {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
return function (data, fileName) {
var blob = new Blob([data], {type: "octet/stream"}),
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
};
}());