我想開發一個簡單的文件上傳處理程序。NodeJS - 服務器端文件上傳處理程序
我唯一想要的是,這個應用程序從客戶端接收文件並保存在硬盤上。
(我不想與上傳一個的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