js文件上传 分割多部分同时上传 如何实现?

类似于百度云盘,上传大文件的时候,他会切割成很多小块。但是会同时上传。 js是单线程的。如何多个同时上传。有异步上传文件的方法吗?

阅读 10.4k
9 个回答

js是单线程的,但是这并不意味着只能发起一个http请求……

...貌似js本身并不能上传图片把。。需要依赖一些高版本浏览器的特性把。
比如jquery-file-upload 这种,都是文件切片上传上的,js本身是单线程的,但是文件上传并不会跑在js这条主线程上的啊,会分配给浏览器的其他的特性线程上

题主的意思是懂什么叫文件切片上传,但是以为一次只能并发上传一个切片?

js是单线程没错,ajax请求属于js调用http线程,http线程可以并发。

可以使用webuploader这个插件 挺好用的

js只有一个主线程,所以主线程阻塞的情况下是不能开启多个线程上传的,我问的问题就是 ,有没有什么利用浏览器本身的线程或者进程,上传文件,而不阻塞js主线程的方法。 楼上的大部分都是说 js 只有一个线程,并不是意味着只能发起一个http请求。这些东西都很清楚。不用言传,我需要的是提供一个方法。

大的小的各类文件做过不少上传,使用ajax从没阻塞过...
你所说的大文件分片上传,有好多成熟方案,楼上百度的webuploader,国外resumablejs,而且支持断点续传等功能。

你是怎么阻塞的?

分割文件的话可以使用 FileReader类;上传文件js默认就是异步的,不知道你想问什么。

新手上路,请多包涵

多个ajax 一起传文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题