/ /エクスプレス(ノード)のJSONファイルをサーバーに保存する - javascript、node.js、express

Express(ノード)内のサーバーにJSONファイルを保存する - javascript、node.js、express

エクスプレスでJSONファイルをフォルダに書き込むこの関数を持つ

var savingtheJson=function(path, jsonObject, callback){
jsonfile.writeFile(file2, jsonO, callback);
}

一度保存されると、ブラウザからこのファイルにアクセスしたり、このファイルを読むことができます。

私がこれを行うならば:

savingtheJson("/json/myfile.json", jsonObj, function(){
console.log("done it!");
});

私がブラウザに行き、私がタイプする:

http://localhost:8080/json/myfile.json

もちろん、明示的な「Can not Get ....」というエラーが表示されるのは、特定のリクエストのように解決しようとしているからです

このファイルを、この目標に対して宣言された静的フォルダに保存するにはどうすればよいですか (app.use(express.static(__dirname + "/public"))?

一旦保存されると、このファイルにどのようにアクセスできますか?

回答:

回答№1は6

まず、公開する公開フォルダを定義する必要があります。そのため、そこにjsonファイルを保存することができます。

組み込みのミドルウェアを使用することができます express.static この目的のために。

この例では、以下のようなエンドポイントを作成しました。 /users?name=wilson&age=32 ユーザの情報を取得するためにクエリデータを受信する そして 年齢 あなたの名前のファイルとして保存することができます person.json.

あなたが上記のエンドポイントを消費した後、あなたはあなたのファイルを次のようなもので消費することができます http://localhost:4040/person.json 成功しました。

var express = require("express");
var app = express();
var port = 4040;
var fs = require("fs");

app.use(express.static("public"));

app.get("/users", function(req, res) {
var name = req.query.name;
var age = req.query.age;

var person = {
name: name,
age: age
};

savePersonToPublicFolder(person, function(err) {
if (err) {
res.status(404).send("User not saved");
return;
}

res.send("User saved");
});
});

function savePersonToPublicFolder(person, callback) {
fs.writeFile("./public/person.json", JSON.stringify(person), callback);
}

app.listen(port, function() {
console.log("server up and running at port: %s", port);
});