我正在通过 JavaScript 生成一个字符串,我需要将其下载到具有预定义动态文件名的文本文件中。这样员工就不会有犯错的余地。
由于安全问题,这在 JavaScript 中显然是不可能的。但是,根据我所读到的内容,应该可以使用 base64 编码。
我设法对字符串进行编码并使用解码后的数据打开一个网址。此 URL 中的字符串已成功解码。格式如下:
var data = 'data:text/plain;base64,'+L_EncodedData;
document.location = data;
我需要打开一个包含解码数据的文件对话框,以便员工可以下载此 URL 中生成的内容。
有什么帮助吗?
提前非常感谢
如果您仍在寻找此问题的答案,请查看我的答案。这就是我将根据您的需求进行调整的方式。
// 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");
如果你使用这个,请确保你抓住了我在另一篇文章中提到的polyfills。
此块已修复。
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);
}
}
var w =window.open(image.outerHTML);
=(回调)<; (url.outerHTML);