【发布时间】:2016-09-20 15:34:15
【问题描述】:
我使用 busbody 在 nodejs 中上传文件 我可以上传文件,但我无法在 bodyparser 中收到短信 我的前端代码是:
<script>
$("input[type='button']").click(function(){
var files = $("input[type='file']").get();
var formData = new FormData();
var text = "xxxxx";
var url = "fileUpload";
if (files.length > 0){
for (var i = 0; i < files.length; i++) {
var input = $("input[type='file']").get(i).files;
var file = input;
if(file.length>0){
console.log( file[0].name);
formData.append('userpic',file[0], file[0].name);
}
}
formData.append('text',text);
$.ajax({
type: "post",
url: url,
processData: false,
contentType: false,
data: formData, // serializes the form's elements.
});
}
});
</script>
server.js
router.post('/fileUpload', function(req, res) {
console.log(req.body.text);
// req.pipe(req.busboy);
req.busboy.on('file', function(fieldname, file, filename) {
console.log('ok2');
var fstream = fs.createWriteStream('./public/images/' + filename);
file.pipe(fstream);
fstream.on('close', function () {
});
});
res.send('upload succeeded!');
});
这行代码console.log(req.body.text); 只需返回 {}
【问题讨论】:
-
你能发布你的 app.js 文件代码吗?
-
@abdulbarik var bodyParser = require('body-parser'); var busboy = require('connect-busboy'); app.use(busboy()); app.use(bodyParser());我在 app.js 中使用 middelware
标签: javascript node.js ajaxform jquery-upload-file-plugin