Base64编码/解码和下载URL中生成的内容

时间:2012-05-25 14:01:05

标签: javascript base64

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

由于安全问题,这在JavaScript中显然是不可能的。但是,根据我的阅读,应该可以使用base64编码。

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

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

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

任何帮助?

非常感谢提前

2 个答案:

答案 0 :(得分:3)

如果您仍在寻找答案,请查看my answer here。这就是我如何根据您的需求进行调整。

// 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。

答案 1 :(得分: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);
    }
}