gpt4 book ai didi

forms - 如何从服务器端(Express.js/Node.js)的多个输入字段中查找数据?

转载 作者:搜寻专家 更新时间:2023-11-01 00:46:03 24 4
gpt4 key购买 nike

我有一个包含多个描述文本字段、文件选择字段和跨域请求提交按钮的表单(CORS 变体):

  <form class="upload" id="upload_form" enctype="multipart/form-data" method="post" action="http://localhost:3001/upload/1234567890">

<div class="row-fluid">

<div class="span5 row-fluid" id="description" style="margin-left:0px;">
<div>
<label>Title</label>
<input class="span12" type="text" placeholder="Title" id="description_title" name="description_title"/>
<label>Author</label>
<input class="span12" type="text" placeholder="Author" id="description_author" name="description_author"/>
<label>Tags</label>
<input class="span12" type="text" placeholder="Tags" id="description_tags" name="description_tags"/>
<label>Description</label>
<textarea class="span12" id="description_textarea" name="description_textarea" rows="5" style="resize:none"></textarea>

<div id="buttons" class="row-fluid" style="margin-top: 5px">
<div class="span12">
<span class="span5 btn btn-primary btn-file" id="chose_files_btn" onclick="filechose_button.click()">chose files
<input id="filechose_button" type="file" name="fileData" data-url="http://localhost:3001/upload/1234567890"/></span>
<button id="upload_button" type="submit" name="upload" class="span5 offset2 btn btn-success" disabled="true" onclick="$('#upload_form').trigger('upload_fired');">upload</button>
</div> <!-- span12 -->
</div> <!-- buttons -->
</div> <!-- well -->
</div> <!-- video_description -->
</div> <!-- row-fluid -->

</form>

Node.js (Express.js) 服务器有一个路由:

app.post('/upload/:id', function(req, res){
console.log(req.fields);
...
});

问题是,我无法从输入字段中找到数据:req.fields 得到 undefined

如何从服务器上的 req 中找到数据(文本描述和文件)?


更新:

太棒了! req.body 确实可以访问所有字段,但是:

console.log(req.body)

打印:

{ description_title: 'aaa',
description_author: 'bbb',
description_tags: 'ccc',
description_textarea: 'ddd',
upload: '' }

但是 fileData 字段在哪里?我的意思是,我上传的带有描述(上述字段)的文件在哪里?

更新 2:完成!

文件不在body属性中,而是在req.files

感谢 Adamandyfan!

最佳答案

正如 Adam 所说,如果您看到这两行

app.use(express.bodyParser());
app.use(express.methodOverride());

在express的app.js文件中,可以读取如下字段。

app.post('/upload/:id', function(req, res){
console.log(req.body.description_title);
console.log(req.body.description_author);
console.log(req.body.description_tags);
console.log(req.body.description_textarea);
console.log(req.files);
res.send("Done!");
});

您可以在此链接 http://howtonode.org/really-simple-file-uploads 中阅读有关如何在 express 中处理文件的更多信息

关于forms - 如何从服务器端(Express.js/Node.js)的多个输入字段中查找数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16246988/

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