大家一起来探讨下在web中显示上传进度的问题

本文探讨了文件上传过程中显示进度信息的技术挑战与解决方案。作者对比分析了XMLHttpRequest等常见方法的局限性,并提出了分块上传、客户端预处理及网速测试等创新思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值