【问题标题】:Download binary data into file using javascript使用javascript将二进制数据下载到文件中
【发布时间】:2016-02-18 20:26:13
【问题描述】:

我想使用 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;

【问题讨论】:

    标签: javascript jquery javascript-objects


    【解决方案1】:

    您需要更改&lt;a&gt;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";
    

    【讨论】:

    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 2013-08-30
    • 2018-08-08
    • 1970-01-01
    相关资源
    最近更新 更多