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

Download binary data into file using javascript

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

第1步:我将上传的文件转换为二进制代码,并成功地通过网络将二进制代码发送到服务器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 步: 现在我想从数据库中检索相同的数据并能够通过单击 link

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

谁能帮我解决这个问题

我这样试过

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

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

例如:

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