前端上传文件实时显示进度条和上传速度的工作原理是怎样的?

 我来答
联雅网络
2018-02-03 · 百度认证:深圳联雅网络科技有限公司
联雅网络
联雅网络成立于2005年,是一家技术开发型的网络公司,致力于高端品牌网站建设,微信公众平台开发,是一支拥有一百多人的网站设计技术团队。分深圳联雅网络与广州联雅网络,一直专注网站建设领域
向TA提问
展开全部
就是后端的责任
在Django中实现需要重载上传文件的函数
在上传时文件是被分成数个MB的chunk处理的
每次都会调用这个上传函数
也就是说 每处理一个chunk就更新uploaded size
然后浏览器端通过AJAX获取这个值和文件大小
最后用JavaScript渲染到页面上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杂思记
高粉答主

2018-05-29 · 醉心答题,欢迎关注
知道小有建树答主
回答量:619
采纳率:100%
帮助的人:16.4万
展开全部

后端的责任。

前端上传文件实时显示进度条和上传速度的工作原理就是后端的责任,在Django中实现需要重载上传文件的函数,在上传时文件是被分成数个MB的chunk处理的,每次都会调用这个上传函数。也就是说,每处理一个chunk就更新uploaded size,然后浏览器端通过AJAX获取这个值和文件大小
最后用JavaScript渲染到页面上。

前端只能说会用框架和插件干活。前段时间用的百度的webuploader,demo就带进度条的。js代码不多可以看一下,猜测是监听事件。上传是前端和通信协议做的事,后端是写入。在比较传统流和和spring自带的transferto的耗时统称上传时间是不对的,应为写入时间。

项目框架采用spring+hibernate+springMVC如果上传文件不想使用flash那么你可以采用html5;截图前段模块是bootstarp框架;不废话直接来代码;spring-mvc配置文件。

nginx话lua可以拿到链接的套接口,读取套接口就可以知道当前上传了多少了。可以看下openresty的lualib/resty/upload.lua。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式