LoginSignup
16
16

More than 5 years have passed since last update.

Node.js 初めてのファイル書き込み

Last updated at Posted at 2015-05-30

node.js始めて5日目。初めてファイルに書き込んでみる

GETで受けた内容をファイルに書き込むサンプル

(Express使っています)

app.js
・・・・
var filewriter = require("filewriter");
・・・・
app.use("/filewriter",filewriter);
・・・・
/routes/filewriter.js

var fs=require("fs");
module.exports=function(req, res, next) {
  fs.writeFileSync("/out/test.txt",req.query.text);
  res.send("書き込みしました");
}

これで、
http://localhost:3000/filewriter?text=test
こんな風にアクセスすると、
outフォルダにtest.txtという名前のファイルが作成され、Getで渡した値が書き込まれます。
すでに同じ名前のファイルが存在する場合は、上書きされます。

実際に書き込み処理行っているのは,fsオブジェクトのwriteFileSyncメソッドです。

writeFileSync(filename,data)
は同期処理用ですので、書き込みが終わるまで次の処理が行われません。
戻り値はundefinedです。

非同期に処理をする場合は、
writeFile(filename,data,callback)
を使い、callbackで後続の処理を行います。エラー処理とかするなら、


fs.writeFile(filename,data,function(err){
   if(err) throw err;
   console.log("書き込み完了");
}

とします。

POSTの場合

パラメータの受け取り方が違うだけで、同じですね。
POSTの場合は

req.body.text

として受け取ります。

なお、Postしたサイズによってはエラーが発生するかもしれません。
その場合ここを参照してみてください。

本家のドキュメントはここ

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16