一个JSON文件保存到服务器快递(节点)
问题描述:
有快递这个功能,一个文件夹一个JSON文件保存到服务器快递(节点)
var savingtheJson=function(path, jsonObject, callback){
jsonfile.writeFile(file2, jsonO, callback);
}
我会想知道我怎么能访问写一个JSON文件/读取从浏览器这个文件一旦被保存。
如果我这样做:
savingtheJson('/json/myfile.json', jsonObj, function(){
console.log("done it!");
});
当我去到浏览器和I型:
http://localhost:8080/json/myfile.json
当然,我得到一个错误,从快车 “不能得到......” 原因我认为是试图解决它像一个特定的请求
我该如何存储此文件到此目标声明的静态文件夹 (app.use(express.static(__dirname + '/public')
)?
如何保存一次该文件?
答
首先,您需要定义哪个文件夹将公开显示,以便您可以将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);
});
静态服务目录在'/ public'中,就像你提到的一样。但IMO应该在您的Web服务中提供一个新的端点来检索文件。 –
你的意思是创建和读取文件的应用程序端点,就像在这个例子中使用这种类型的os函数一样? [阅读json文件](http://*.com/questions/12703098/how-to-get-a-json-file-in-express-js-and-display-in-view) –
你肯定会不要像在服务器应用程序中那样读取文件。我打算创建一个新的路由(例如'/ json /:myfile')并在GET上异步读取文件。 –