我正在通过JavaScript生成一个字符串,我需要将其下载到具有预定义动态文件名的文本文件中。这样,员工就不会有错误的余地。
由于安全问题,这在JavaScript中显然是不可能的。但是,根据我的阅读,应该可以使用base64编码。
我设法对字符串进行编码并使用解码数据打开一个url。该URL已在此URL中成功解码。格式如下:
var data = 'data:text/plain;base64,'+L_EncodedData;
document.location = data;
我需要打开包含解码数据的文件对话框,以便员工可以下载此网址中生成的内容。
任何帮助?
非常感谢提前
答案 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);
}
}