5

我正在通过 JavaScript 生成一个字符串,我需要将它下载到具有预定义动态文件名的文本文件中。这样员工就没有犯错的余地。

由于安全问题,这在 JavaScript 中显然是不可能的。但是,从我读过的内容来看,base64 编码应该是可能的。

我设法对字符串进行编码并用解码后的数据打开一个 url。此 URL 中的字符串已成功解码。格式如下:

var data = 'data:text/plain;base64,'+L_EncodedData;
document.location = data;

我需要打开一个包含解码数据的文件对话框,以便员工可以下载此 URL 中生成的内容。

有什么帮助吗?

提前谢谢了

4

2 回答 2

3

如果您仍在寻找答案,请在此处查看我的答案。这就是我将如何调整它以满足您的需求。

// Convert the Base64 string back to text.
var txt = atob(data.reportBase64Bytes);

// Blob for saving.
var blob = new Blob([byteString], { type: "text/plain" });

// Tell the browser to save as report.txt.
saveAs(blob, "report.txt");

如果您使用它,请确保您使用了我在另一篇文章中提到的 polyfill。

于 2013-05-03T03:20:19.443 回答
0

这个块是固定的。

window.OpenWindowForBase64 = function(url, callback) {
    var image = new Image();
    image.src = url;
    var w = window.open("");
    w.document.write(image.outerHTML);
    if (callback) {
        callback(url);
    }
}
于 2017-08-24T13:13:25.850 回答