Выгрузка файлов с помощью Node.js

Выгрузка файлов через веб-форму на всех языках программирования является задачей несколько более сложной, чем просто извлечение параметров, переданных с помощью методов GET или POST. Несколько раз реализовывал такое на Java и могу сказать, что без привлечения специальных библиотек за это лучше не браться. До недавних пор написание программы выгрузки на node.js тоже требовало довольно большого количества строк, но несколько месяцев назад в проекте express появились средства, сводящие задачу к сущим пустякам.


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

app.use(express.bodyParser()); // без этой строчки не работает!
app.use(express.limit('1mb')); // лимит на размер выгружаемого файла

app.post('/avatarUpload',  function (req, res) {
        var targetPath = '/tmp/avatar.jpg';
        var tmpPath = req.files.avatar.path;
	fs.rename(tmpPath, targetPath, function(err){
	    res.send(err ? 'Ничего не получилось.' : 'Выгрузка завершена успешно.');
	});
});



Это полноценная программа, готовая к запуску! Естественно, нужно добавить проверки на ошибки и т.п., но лаконичность средств node.js воистину потрясает.

Комментарии (1)

RSS свернуть / развернуть
+
0
Я думал сложнее будет)
avatar

Sergei_T

  • 10 декабря 2012, 23:19

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.