Я пытаюсь разработать простой обработчик загрузки файлов.NodeJS - обработчик загрузки файла на стороне сервера
Единственное, что я хочу, это приложение получает файл от клиента и сохраняет на hdd.
(я не хочу, чтобы загрузить файл с nodejs, я просто хочу, чтобы получить пост загрузки файла и сохранить его на моем НЖМД)
, как я могу это сделать?
Я пробовал этот способ, но он работает не так, как ожидалось.
var http = require('http'),
path = require('path'),
os = require('os'),
fs = require('fs');
var Busboy = require('busboy');
http.createServer(function(req, res) {
if (req.method === 'POST') {
\t \t
\t try{
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
\t \t
\t \t var fstream = fs.createWriteStream('asdasd');
file.pipe(fstream);
fstream.on('close', function() {
\t \t \t res.writeHead(200, { 'Connection': 'close' });
res.send('upload succeeded!');
});
\t \t
/*var saveTo = path.join(os.tmpDir(), path.basename(fieldname));
file.pipe(fs.createWriteStream('./output.asdasd'));
\t fstream.*/
});
busboy.on('finish', function() {
res.writeHead(200, { 'Connection': 'close' });
res.end("That's all folks!");
});
return req.pipe(busboy);
\t }
\t catch(err){
\t \t console.log('error : ' + err);
\t \t res.writeHead(404);
\t \t res.end();
\t }
}
res.writeHead(404);
res.end();
}).listen(4842, function() {
console.log('Listening for requests');
});
Если ваша проблема была решена чьей-то ответ, пожалуйста, отметьте, что ответ как правильно. Если вы сами придумали этот ответ, напишите его как ответ в разделе ответов (не как часть вопроса) и отметьте его правильно. –
Кроме того, мы не используем [разрешенные] заголовки здесь - вместо этого используйте систему приема. Вы можете принять свой собственный ответ, хотя, если кто-то другой вам очень помог, это хороший жест, чтобы принять их вместо этого. – halfer