node.jsで超シンプルなファイルサーバーを構築しています。
ここからアクセスできるサーバーをホストするために dotcloud を使用しています。
(正しいパスワードを使用して) ファイルをアップロードしようとすると、コードが を返します'Error, incorrect password!'
。以下のコードを見て、その理由を説明します。
var success = false;
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields, files) {
console.log("Password: " + fields.password);
if(fields.password!="poop") {
return;
}
fs.rename(files.upload.path, files.upload.name, function (err) { });
success = true;
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end();
});
req.on('end', function() {
// empty 200 OK response for now
if(success) {
res.writeHead(302, { 'location': '/' });
} else {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('Error, incorrect password!\n');
}
res.end();
});
私のコードは 'fs.rename(files.....)' で失敗していると思います。成功変数が true に設定されていないからです。私のコードは、ローカルの node.js インストールで動作します。dotcloud などから書き込み権限を要求する必要がありますか?