gpt4 book ai didi

javascript - 在nodejs中发送带有上传文件的表单

转载 作者:行者123 更新时间:2023-12-02 14:10:45 25 4
gpt4 key购买 nike

我使用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>

服务器.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);只需返回{}

最佳答案

尝试使用主体解析器:
npm install --save body-parser
然后选择中间件:
var bodyParser = require('body-parser');
app.use(bodyParser.json());

或者直接使用中间件:
var bodyParser = require('body-parser');
router.post('/fileUpload', bodyParser.json(), function(req, res) {....});

还可以尝试使用 console.log(req.body) 查看请求的格式。

关于javascript - 在nodejs中发送带有上传文件的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39598250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com