zoukankan      html  css  js  c++  java
  • 大家一起来探讨下在web中显示上传进度的问题

    首先我想说下,如果有人说我抽,也没办法。我只想探讨原理,不要组件。

    确定问题:上传文件时显示进度信息。

    背景分析:还是那句老话,网上有很多进度显示的方案,看了都不是我想要的。不过有很多思路还是挺好的,我想要的是:把比较大的文件分块读取,每读取一块文件向客户端发送一个信号。

    有人说用XMLHttpRequest,确实可行,但是只有5个状态,其中一个状态是处理过程,这个关键的状态还是不透明。如果文件很大,这个过程还是要耗比较长的时间的。这样进度的作用未得到完全体现。

    个人认为的难点:服务器端读取一块数据,发送一个信号;而不是读完再发送信号。但是程序中的事务机制,事件是不可分割的,要么做完,要么不做。

    那么我想突破点在于:重写保存文件的事件。

    还有一个想法,就是在客户端将数据分块到缓存,一块一块的上传。不知道具体实现。

    第三个想法,根据测试网速的原理,先测试出速度,那么一切就好办了。可是在上传过程中不能保证网络的稳定性。

    本人不知道桌面程序是怎么获得进度的,知道的提供个思路呗。所谓分块读取发送信号真的可行吗?WCF,Ajax,iframe,XMLHttpRequest,SwfUPload等关键点在什么地方?……

  • 相关阅读:
    sshpass连接主机以及执行命令
    elk集群配置并破解x-pack
    socket实现简单通信会话
    docker容器跨宿主机通信
    docker运行wordpress
    centos7 利用docker运行nginx项目
    docker容器基础命令
    docker镜像基础命令
    vue中使用延时加载
    less
  • 原文地址:https://www.cnblogs.com/langu/p/2252950.html
Copyright © 2011-2022 走看看