admin 管理员组文章数量: 1184232
connect
我在使用 connect-multiparty 解析请求并尝试在路由中获取文件流时遇到问题。但是,我总是在 req.files 中得到空对象。我使用的代码如下:
in router.js:
import express from 'express';
var routers = express.Router();
import { createRequire } from "module";
import * as fs from 'fs';
import * as path from 'path';
import multipart from 'connect-multiparty';
var multipartMiddleware = multipart();
/* POST home page. */
routers.post('/:name', multipartMiddleware, function (req, res, next) {
console.log("system in pageName: " + req.params.name);
console.log(req.body, req.files);
var filename = req.files.files.originalFilename || path.basename(req.files.files.path);
res.render('fileUploading', { title: 'After Uploading: Upload success' });
});
in ejs:
<form action="/files/handleQmlFiles" method="post" enctype="multipart/form-data" id="frmUpload">
<input type="file" id="uploadFileInput" />
<div class="row">
<div class="col-md-6">
<input type="submit" value="Upload file" name="submit">
</div>
</div>
</form>
in main.js:
import express from 'express';
import compression from 'compression';
import { fileURLToPath } from 'url';
import { dirname } from 'path';
import { routers } from './routes/router.js';
import cookieParser from 'cookie-parser';
import helmet from "helmet";
import session from "express-session";
import * as fs from 'fs';
import bodyParser from "body-parser";
// HTTP compression
app.use(compression());
app.use(cookieParser());
app.use(helmet());
app.use(express.static(cfg.dir.static));
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true}));
app.use('/files',routers);
// start server
// http://localhost:3000/files/OK
app.listen(cfg.port, () => {
console.log(`Example app listening at http://localhost:${cfg.port}`);
});
有什么方法可以确定问题出在哪里,或者有其他方法可以在节点 16.13.2 版本中上传文件,非常感谢。
回答如下:本文标签: connect
版权声明:本文标题:connect 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1717471088a707459.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论