开发者社区> 问答> 正文

如何用js+html+server端代码实现上传文件并带进度条

查了不少资料,包括oschina上的例子,好像没有什么很好的办法实现文档上传并带进度条。

具体来说,目前我遇到的问题就是在上传时,不知道如何获取上传文档的大小。这样就没法显示比例。是不是必须走HTML5?

目前看到的实现方案,要么是基于特定浏览器比如用Windows平台的本地文件访问空间,要么用HTML5的方案,要么用flash的控件接口,是不是js做不到?

看了一个红薯给的例子,是在客户端问服务器端上传的文件有多大(php的服务器端)。

但是我读了一下rfc,好像在文件整体传到服务器之前是没法知道文件有多大的。

不知道这个问题是不是old了。

展开
收起
a123456678 2016-07-15 10:54:19 3274 0
1 条回答
写回答
取消 提交回答
  • 谢谢,二胡的方法很清晰。我仔细读了一下,原来是HTML上传的时候,RFC要求先发送一个Content-Length的项,这样总长度就大致得到了。不过这个方法也是有缺点的:

    这个Listener获得的长度是整个HTTP请求的长度而不是上传的这个文件的长度。这个长度本身就不是很精确。

    其次,如果一次上传多个文件,这个进度条实际上是整个上传的进度条。第N个文件上传了百分比是不知道的,只知道总共上传的百分比。

    不过还是很感谢了,估计这是不采用HTML5和控件等方案能做的的最好了。

    2019-07-17 19:56:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载