【问题标题】:save text file with javascript using fileSaver.js and Blob.js使用 fileSaver.js 和 Blob.js 使用 javascript 保存文本文件
【发布时间】:2013-04-11 16:39:37
【问题描述】:

不知道大家是否知道用于保存文件的 javascript 库。

基本上以前的代码如下:

var bb = new BlobBuilder();
bb.append(content);
var fileSaver = window.saveAs(bb.getBlob("text/plain;charset=UTF-8"), "filename.txt");

但现在是这样的:

var oMyBlob = new Blob([content], { type : "text/plain", endings: "transparent"});
window.saveAs(oMyBlob, "filename.txt");

无论我使用什么(如果不推荐使用的 BlobBuilder 或 Blob),都不会显示 newLines,所有内容都保存在文本文件的同一行下。

你们知道为什么会这样吗?尝试使用不同的 ContentType: text/plain, text/enricher, text/html...

这些似乎都不适用于 newLines。 如果我要在文件中保存一个“警报(数据)”,那么 newLines 就在那里。 当我使用这个库时,看起来它解析了 newLines 什么的,不知道:( 也尝试了其他字符集..

提前致谢。

【问题讨论】:

  • 请提供系统信息:客户端操作系统、服务器操作系统、文本文件是在什么操作系统上制作的?
  • 没关系!!!我已经解决了,如果有人试图解决这个问题,我只是从控制器发送文件,用“\r\n”作为换行符而不是“\n”。并且要小心,因为 "\n\r" 不起作用,只有 \r\n 可以完成这项工作。无论如何,感谢 rxt 提供帮助。
  • 行尾取决于操作系统,Windows、Unix 和我认为 Mac 使用不同的行尾字符。当您使用写字板打开文件时,\n 将显示在 Windows 中。在 AIR 中,您应该使用 window.runtime.flash.filesystem.File.lineEnding 找不到 ECMA JS 的任何内容,但 w3c 确实提到需要一个函数:w3.org/TR/FileAPI/#convenienceAPI
  • 行尾——这就是我问的原因!

标签: javascript file save blob newline


【解决方案1】:

“\r\n”字符将充当传递给 blob 的内容中的换行符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 2013-03-21
    相关资源
    最近更新 更多