簡體   English   中英

將JSON對象另存為AngularJS中的文件

[英]Saving a JSON object as a file in AngularJS

我想知道是否有任何方法可以將JSON對象另存為項目目錄中的.json文件。 我有一個表單,每次用戶填寫時,我都希望附加JSON文件。 我目前僅使用AngularJS。

AngularJS只是JavaScript,因此請使用任何允許您使用JS保存文件的方法( 最好使用PHP之類的后端來保存文件)。 其中一種方法是FileSaver.js (使用HTML5功能)。

這是一個工作示例:

 var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.myJSON = { "A": "B" }; $scope.saveJSON = function(json) { var jsonse = JSON.stringify(json); var blob = new Blob([jsonse], { type: "application/json" }); $scope.filename = $scope.filename || "my_json"; saveAs(blob, $scope.filename + ".json"); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script> <div ng-app="myApp" ng-controller="myCtrl"> Some JSON: <pre> {{myJSON | json}} </pre> File Name: <input type="text" ng-model="filename" /><br> <button ng-click="saveJSON(myJSON)">Save</button> </div> 

或者您可以使用以下方式將請求發送到后端,例如PHP

$http.post("createJSON.php",json).then((res)=>{...}, (err)=>{...})

並收到:

<?php
$dataReceived = file_get_contents('php://input');
$myFile = json_decode( $dataReceived );

$path = $myFile->path; // path to store it in
$name = $myFile->name; // file name
$JSON = $myFile->json; // content

# Storing file
$file = fopen($path.$name.".json", 'w');
fwrite($file, $JSON);
fclose($file);
?>

您不能僅使用javascript將文件保存到磁盤。 也許您確實需要nodejs,並使用fs模塊。 是否可以僅使用JavaScript將數據寫入文件?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM