javascript - FormData 服务器端 NodeJS

标签 javascript node.js ajax web-applications form-data

我正在使用 NodeJS 服务器端开发一个 Web 应用程序。我正在尝试将 pdf 文件从客户端发送到服务器。

客户:

var files = new FormData();
var count = 0;
$('#tableSlideId tr').each(function() {

    var inputForm = $(this).find("th:first").children();
    file = inputForm[0].files[0];
    files.append((count++).toString(),file);

});

$.ajax({
    type: "POST",
    url: "/sendFiles",
    data: files,
    contentType: false,
    processData: false,

}).done(function(err){

    var text ="";
    if(err) {

        text = "Upload FAILED! Retry ...";

    } else {

        text = "Upload SUCCES!";

    }

    alert(text);



});

我认为客户端没问题,事实上,如果我使用这个循环:

for(var p of files)
  console.log(p);

我正确地可视化了要发送到服务器的所有元素。

服务器:

app.post('/sendFiles', function(req,res) {

    console.log("--->",req.body);
    res.end();

});

现在在服务器中我不知道如何可视化我发送的数据,事实上 req.body 是空的。

我不知道这是否是正确的方法,但我的目标是从客户端加载一些pdf文件,发送到服务器,然后将它们存储在mySql dmbs中。 谢谢。

最佳答案

使用express-formidable模块。通过运行命令安装“express-formidable”

npm install express-formidable --save

一个简单的例子如下来自github


const express = require('express');
const formidable = require('express-formidable');

var app = express();

app.use(formidable());

app.post('/upload', (req, res) => {
  //req.fields contains non-file fields 
  //req.files contains files 
  console.log(req.fields);
  console.log(req.files);
});

希望这有帮助!

编辑,来自 here -

app.post('/submit-form', (req, res) => {
  new formidable.IncomingForm().parse(req, (err, fields, files) => {
    if (err) {
      console.error('Error', err)
      throw err
    }
    console.log('Fields', fields)
    console.log('Files', files)
    files.map(file => {
      console.log(file)
    })
  })
})

关于javascript - FormData 服务器端 NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56688512/

相关文章:

javascript - php根据url动态页面内容

javascript - If 语句显示图像

node.js - 排除 npm 包中的测试代码?

javascript - $_POST 未显示当前选项

node.js - Mailgun:已接受但未送达具有相同域的地址的电子邮件

node.js - GridDB Node.js 客户端将无法构建

javascript - 如何传递不在 URL 中的多个参数?

javascript - 使用 php 创建粘贴按钮

javascript - 在 req.body 中包含表

javascript - Uncaught ReferenceError : $ is not defined?