加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React 使用fromidable 模块进行文件上传出现First argument must

发布时间:2020-12-15 03:27:52 所属栏目:百科 来源:网络整理
导读:前几日在用react + express做网站文件上传模块时采用了常用的几个后台处理文件上传的模块,几乎每个都会出现上述错误,究其原因,以如下代码进行调试测试 //错误提示调试 //new一个formidable.IncomingForm(); var form = new formidable.IncomingForm(); //

前几日在用react + express做网站文件上传模块时采用了常用的几个后台处理文件上传的模块,几乎每个都会出现上述错误,究其原因,以如下代码进行调试测试

//错误提示调试


//new一个formidable.IncomingForm();
var form = new formidable.IncomingForm();
//设置临时文件存放的路径
form.uploadDir = "public/";
//设置上传数据的编码
form.encoding='utf-8';
//设置是否保持上传文件的拓展名
form.keepExtensions = true;


form.on('error',function(err) {
console.log('errr!!!!!!!!!!!!!!');
res.write('xxxx');
res.end();
}


form.parse(req,function(err,fields,files) {
res.writeHead(200,{'content-type': 'text/plain'});
res.write('received upload:nn');
res.end();
});


此时看到

Can't set headers after they are sent,因为react的做法是以组件的形式进行开发的,所以将上传文件那块html直接放在html页面中就不会出错,react 写法如下:


return(<div>
<AppMenu/>
<h1>文件上传</h1>
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="text" name="text"/>
<br/><br/>
<input type="text" name="ss"/>
<br/><br/>
<input type="file" name="f"/>
<br/><br/>
<input type="submit" value="提交"/>
</form>


</div>


)

初步怀疑此return 出错,上传模块以前以为是不兼容的问题,我express是4.13.4,算是新版本了,找到了问题所在再继续解决,以此作为题记,后续会补充解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读