gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:53 25 4
gpt4 key购买 nike

我正在尝试将文件上传到我的服务器,并使用 connect-multiparty 中间件从发布请求中提取它们。但是,当我在服务器上收到请求时,req.filesreq.body 对象为空(不是 null,而是 node-inspector > 表明它们是对象,其中没有任何内容。

这是我正在使用的代码:

服务器.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" );
}

index.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>

我尝试使用 multerconnect-busboybody-parser 得到了类似的结果。如果这个解决方案对我有用,我会很高兴,但它没有: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;

这会将您上传的文件保存到 imagesPath 文件夹

关于node.js - 将 connect-multiparty 与 express.js 一起使用的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32914272/

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