繁体   English   中英

使用Express for HTML服务器和Formidable用于处理的多部分在Node.JS服务器中出现莫名其妙的错误

[英]Inexplicable error arrizing in Node.JS server using Express for HTML server and Formidable for multipart from processing

作为较大项目的一部分,我需要使用单个HTML POST表单将图像和一些文本字段上载到服务器。 为此,我选择使用Formidable处理数据。 但是,当我这样做时,程序将引发莫名其妙的错误。 该错误是运行var form = new formidable.IncomingForm();时的错误var form = new formidable.IncomingForm(); ,应用程序说formidable.IncomingForm()不是有效的构造函数。 之所以让我如此困惑,是因为这是Formidable的每份文档都说要初始化表单的方式。 如果您能帮助我,那将很棒。

 //Adds new rock to database var express = require('express'); var router = express.Router(); var fs = require('fs'); const formidable = require('express-formidable'); //const pool = require('../pool_handler'); router.use(formidable()); console.log('fileUpload module loaded'); /* POST page. */ router.post('/', function(req, result, next) { console.log('inside POST request'); console.log(req.files); if(!req.files) { return next('/success'); } var form = formidable.IncomingForm(); console.log('after the form issue'); form.parse(req, function (err, fields, files) { var oldpath = files.image.path; var newpath = '../public/images/' + files.image.name; fs.rename(oldpath, newpath, function(err) { if(err) { throw err; } }); }); next('/success'); }); router.all('/', function(req, result) { result.render('addNewRock'); }); router.all('/success', function(req, result) { result.send('success!'); }) module.exports = router; 

我为我的英语道歉,写得不好。 但我希望能对您有所帮助。

在我的情况下,我尝试使用该库(可表达的形式),但是它在兼容性方面存在很多问题,很难解决。

我的建议是使用“ formidable”库,该库提供您需要的所有功能,并且npm的页面包含所有要实现的信息。

检查厉害

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM