Nodejs+formidable+express实现无刷新上传文件,同时进度条可视化显示

使用Nodejs、formidable和express,实现无刷新文件上传,结合进度条实时显示上传进度。通过iframe避免页面刷新,借助formidable的progress事件更新进度条状态。
摘要由CSDN通过智能技术生成

Nodejs无刷新上传文件+进度条可视化显示

实现的效果

先看看是不是你想要的那种效果,是的话就继续看吧,不是的话就可以划走了。
在这里插入图片描述
我这里是上传了一个JAVA的一个帮助文档,大小是26.4M,点击上传以后,整个页面不会刷新,同时进度条实时更新上传的进度。文件越大的话进度条显示的会越明显。

实现原理

1.无刷新上传
无刷新上传主要是用到了iframe标签实现的,让form提交结果转到iframe中,不转向其他URL,以此来实现无刷新上传。
2.进度条
进度条的话用到了两个东西,一个是Nodejs的第三方模块formidable,还有一个就是原生JS的window对象。formidable有一个progrss事件,可以实时监听上传的进度,通过window对象调用父窗口的进度条对象方法实时更新进度。

代码实现部分

1.无刷新上传

<form action="upload" method="post" target="hideUrl" enctype="multipart/form-data" style="margin-bottom:20px;">
		姓名:<input type="text" name="name"/><br>
		图片:<input type="file" name="img"/><br>
		<input type="submit" value="提交">
		<iframe name="hideUrl" style="width:0px;height:0px;visibility:hidden;"></iframe>
	</form>

2.进度条

app.post("/upload",function(req,res){
   
	var form=new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值