我正在生成一些内容客户端,我想使用chrome.downloads.download下载此生成的内容。请注意,下载工作正常,但不知何故下载的文件不包括新行(我使用
添加新行)lineContent += '\r\n';
这不起作用。我试过了
'\r' or '\n'
同样,但没有运气。除了新行字符之外的所有内容在生成的文档中都是正确的。有什么想法可能无法显示新线?
我已经尝试过不同的编辑器,所以我怀疑编辑器就是它在一行中显示所有编辑器的原因。
// when I'm debugging the fileData is showing as multi-lined, but after
// download, all of the content is a single line.
chrome.downloads.download({
url: "data:text/plain," + fileData,
filename: 'file.txt',
conflictAction: "prompt",
saveAs: true,
}, function(downloadId) {
console.log("Downloaded item with ID", downloadId);
});
答案 0 :(得分:2)
使用%0A(\n
的网址编码实体)在下载时保留它,直接使用它或将文本传递给encodeURIComponent()
以便对相应字符进行网址编码
function download1(){
a = document.createElement("a")
a.href = "data:text/plain,Stackoverflow%0ANewline";
a.download = "test.txt";
a.click();
}
function download2(){
a = document.createElement("a")
a.href = "data:text/plain,"+encodeURIComponent("Stackoverflow\nNewline");
a.download = "test.txt";
a.click();
}

<button onclick="download1()">Download 1</button>
<button onclick="download2()">Download 2</button>
&#13;