【问题标题】:Saving a json file in Javascript by overwrighting the previous one通过覆盖前一个文件以 Javascript 保存 json 文件
【发布时间】:2018-05-22 03:11:54
【问题描述】:

我是JS的初学者,正在尝试生成一个json格式的文件并通过这段代码保存

<script>
    var jsonArr=[];
//Generating 5 random test data for json array
for(var i = 0; i < 5; i++) {
    jsonArr.push({
        team: "teamA",
        matchname: "Match1",
        score: "32"
    });  } 
json_str = JSON.stringify(jsonArr); //stringify json

//Save file function
saveFile('yourfilename.json', "data:application/json", new Blob([json_str],{type:""}));

function saveFile (name, type, data) {
    if (data != null && navigator.msSaveBlob)
        return navigator.msSaveBlob(new Blob([data], { type: type }), name);

    var a = $("<a style='display: none;'/>");
    var url = window.URL.createObjectURL(new Blob([data], {type: type}));
    a.attr("href", url);
    a.attr("download", name);
    $("body").append(a);
    a[0].click();
    setTimeout(function(){  // fixes firefox html removal bug
        window.URL.revokeObjectURL(url);
        a.remove();
    }, 500);  
}

</script>

此代码正在运行,但我想将此文件保存到特定目录并覆盖以前保存的文件。如果有人可以帮忙吗? 谢谢

【问题讨论】:

  • 我很确定你必须有一个服务器端脚本来保存,除非你的目录是 CHMOD'd 到 777 并准备好被黑客攻击。

标签: javascript json save blob stringify


【解决方案1】:

使用 Javascript 无法访问客户端的文件系统。您只能通过下载对话框提示用户或强制下载到默认下载目录。

【讨论】:

    猜你喜欢
    • 2020-06-25
    • 2011-11-29
    • 2018-02-18
    • 2013-03-31
    • 2016-04-11
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多