Using POST data to write to local file with node.js and express

express, node.js, post

Solution

var express = require('express'),
    fs = require('fs'),
    url = require('url');
var app = express();

app.use('/public', express.static(__dirname + '/public'));  
app.use(express.static(__dirname + '/public')); 

app.post('/receive', function(request, respond) {
    var body = '';
    filePath = __dirname + '/public/data.txt';
    request.on('data', function(data) {
        body += data;
    });

    request.on('end', function (){
        fs.appendFile(filePath, body, function() {
            respond.end();
        });
    });
});

app.listen(8080);

Problem

I'm trying to just handle simple POST requests and append the data to a local file. However, when I try to POST raw text with postman, such as 'hi world', what's actually appended is `[object Object]`. I'm not sure what could be causing this if nothing should be interpreted as an object on either end. Thank you! ``` var express = require('express'), fs = require('fs') url = require('url'); var app = express(); app.configure(function(){ app.use('/public', express.static(__dirname + '/public')); app.use(express.static(__dirname + '/public')); app.use(express.bodyParser()); }); app.post('/receive', function(request, respond) { filePath = __dirname + '/public/data.txt'; fs.appendFile(filePath, request.body, function () { respond.end(); }); }); app.listen(8080); ```

Original source