将 connect-multiparty 与 express.js 一起使用的正确方法是什么?

2024-02-10

我正在尝试将文件上传到我的服务器并使用以下命令从发布请求中提取它们connect-multiparty中间件。但是,当我在服务器上收到请求时,req.files and req.body对象是空的(不是 null,而是node-inspector表明他们是Object里面什么也没有。

这是我正在使用的代码:

服务器.js:

var express = require( "express" );
var app = express();
var server = require( "http" ).Server( app );
var fs = require( "fs" );
var multipart = require('connect-multiparty');

app.use( express.static( "public" ) );
app.use( multipart() );

app.post( "/httpUpload", function( req, res ) {
    console.log( "Received post request" );
}

索引.html:

<form action="/httpUpload" method="post" enctype="multipart/form-data">
  <input type="file" id="uploadFileInput">
  <div class="row">
    <div class="col-md-6">
      <input type="submit">
    </div>
  </div>
</form>

我尝试使用时得到了类似的结果multer, connect-busboy, and body-parser。如果这个解决方案对我有用,我会很高兴,但事实并非如此:http://howtonode.org/really-simple-file-uploads http://howtonode.org/really-simple-file-uploads

所以……在我所有失败的尝试中,唯一的共同主题就是我。 ;o)有什么想法我做错了吗?


这是我提取上传文件的方法:

var express = require('express');
var multiparty = require('connect-multiparty'),
    multipartyMiddleware = multiparty({ uploadDir: './imagesPath' });

var router = express.Router();

router.post('/', multipartyMiddleware, function(req, res) {
  console.log(req.body, req.files);
  var file = req.files.file;
  console.log(file.name);
  console.log(file.type);
  res.status(200).send('OK');
});

module.exports = router;

这将保存您将文件上传到图像路径文件夹

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 connect-multiparty 与 express.js 一起使用的正确方法是什么? 的相关文章

随机推荐