エクスプレスで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);
});