javascript - 使用javascript将二进制数据下载到文件中

标签 javascript jquery javascript-objects

我想使用 javascript 上传和下载文件。

第 1 步:我将上传的文件转换为二进制代码,并成功地通过 web api 将二进制代码发送到服务器。

       var SA_Supp_Evidence_Object_File = null;
        var Evidence_file_name = null;

        if (document.getElementById("file").files.length != 0) {
            SA_Supp_Evidence_Object_File = document.getElementById('file').files[0];

            var fr = new FileReader;
            fr.onloadend = function () {
                alert(fr.result);
            };
            fr.readAsBinaryString(SA_Supp_Evidence_Object_File);

            Evidence_file_name = SA_Supp_Evidence_Object_File.name;
        };

第 2 步:现在我想从数据库中检索相同的数据并能够通过单击链接进行下载

<td><a href="_self">Download</a></td>

谁能帮我解决这个问题

我试过这样

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

最佳答案

您需要更改 href <a> 的属性包含您希望用户下载的数据。您不想通过 document.location 进行重定向,而不是 anchor 本身应该包含数据。

例如:

var a = document.body.appendChild(
    document.createElement("a")
);
a.download = "filename.dat";
a.href = "data:text/plain;base64," + L_EncodedData;
a.innerHTML = "download";

关于javascript - 使用javascript将二进制数据下载到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757405/

相关文章:

javascript:范围外的 json 的 XMLHttpRequest

javascript - 使用 jQuery 打印 HTML 元素的内容

javascript - 如果对象传播不是可迭代的,它如何工作?

javascript - 得到一个未终止的字符串文字错误..我可以让它通过,但无法弄清楚为什么

javascript - 更改模板标签后 John Resig 的微模板出现语法错误 <# {% {{ 等

javascript - 使用 jquery 以 (mm/dd/yyyy) 格式获取两个日期之间的月差

javascript - 了解 jQueryUI 事件

javascript - JavaScript 类中的 "SyntaxError: Unexpected identifier"

javascript - 将 addeventlistener 添加到节点列表

javascript - 返回当前位置 x 英里半径内的地点列表