节点 JS:文件上传错误 [ERR_STREAM_WRITE_AFTER_END]
Node JS: File upload Error [ERR_STREAM_WRITE_AFTER_END]
所以我想做的是,我只是在 Formidable 模块的帮助下使用 nodeJS 将文件上传到特定文件夹,使用以下参考。
File Upload using nodeJS
现在,我的文件已上传到我想要的文件夹,但由于我是 运行 来自 CLI 的命令,它给我一个错误
这是我试过的 代码 :
var http = require('http') ;
var formidable = require('formidable') ;
var fs = require('fs');
http.createServer(function(req, res){
if(req.url == '/fileUpload'){
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields,files){
var oldpath = files.filetoupload.path;
var newpath = 'C://xampp/htdocs/nodejs/upload/' + files.filetoupload.name;
fs.rename(oldpath, newpath, function (err){
if(err) throw err;
res.write('File Uploaded and Moved !!');
res.end();
});
res.write('File Uploaded');
res.end();
});
}
else{
res.writeHead(200, {'Content-Type': 'text/html'}) ;
res.write('<form action="fileUpload" method = "post" enctype="multipart/form-data">');
res.write('<input type = "file" name="filetoupload" /><br/>') ;
res.write('<input type="submit" />') ;
res.write('</form>') ;
return res.end() ;
}
}).listen(8080) ;
我得到的错误是:
> Error [ERR_STREAM_WRITE_AFTER_END]: write after end
> at write_ (_http_outgoing.js:572:17)
> at ServerResponse.write (_http_outgoing.js:567:10)
> at C:\xampp\htdocs\nodejs\upload.js:14:8
> at FSReqWrap.args [as oncomplete] (fs.js:140:20) Emitted 'error' event at:
> at writeAfterEndNT (_http_outgoing.js:634:7)
> at process._tickCallback (internal/process/next_tick.js:63:19)
您正在关闭流后尝试写入。
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields,files){
var oldpath = files.filetoupload.path;
var newpath = 'C://xampp/htdocs/nodejs/upload/' + files.filetoupload.name;
fs.rename(oldpath, newpath, function (err){
if(err) throw err;
res.write('File Uploaded and Moved !!');
res.end(); // here, remove this end call
});
});
所以我想做的是,我只是在 Formidable 模块的帮助下使用 nodeJS 将文件上传到特定文件夹,使用以下参考。 File Upload using nodeJS
现在,我的文件已上传到我想要的文件夹,但由于我是 运行 来自 CLI 的命令,它给我一个错误
这是我试过的 代码 :
var http = require('http') ;
var formidable = require('formidable') ;
var fs = require('fs');
http.createServer(function(req, res){
if(req.url == '/fileUpload'){
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields,files){
var oldpath = files.filetoupload.path;
var newpath = 'C://xampp/htdocs/nodejs/upload/' + files.filetoupload.name;
fs.rename(oldpath, newpath, function (err){
if(err) throw err;
res.write('File Uploaded and Moved !!');
res.end();
});
res.write('File Uploaded');
res.end();
});
}
else{
res.writeHead(200, {'Content-Type': 'text/html'}) ;
res.write('<form action="fileUpload" method = "post" enctype="multipart/form-data">');
res.write('<input type = "file" name="filetoupload" /><br/>') ;
res.write('<input type="submit" />') ;
res.write('</form>') ;
return res.end() ;
}
}).listen(8080) ;
我得到的错误是:
> Error [ERR_STREAM_WRITE_AFTER_END]: write after end
> at write_ (_http_outgoing.js:572:17)
> at ServerResponse.write (_http_outgoing.js:567:10)
> at C:\xampp\htdocs\nodejs\upload.js:14:8
> at FSReqWrap.args [as oncomplete] (fs.js:140:20) Emitted 'error' event at:
> at writeAfterEndNT (_http_outgoing.js:634:7)
> at process._tickCallback (internal/process/next_tick.js:63:19)
您正在关闭流后尝试写入。
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields,files){
var oldpath = files.filetoupload.path;
var newpath = 'C://xampp/htdocs/nodejs/upload/' + files.filetoupload.name;
fs.rename(oldpath, newpath, function (err){
if(err) throw err;
res.write('File Uploaded and Moved !!');
res.end(); // here, remove this end call
});
});