大家一起来探讨下在web中显示上传进度的问题
首先我想说下,如果有人说我抽,也没办法。我只想探讨原理,不要组件。
确定问题:上传文件时显示进度信息。
背景分析:还是那句老话,网上有很多进度显示的方案,看了都不是我想要的。不过有很多思路还是挺好的,我想要的是:把比较大的文件分块读取,每读取一块文件向客户端发送一个信号。
有人说用XMLHttpRequest,确实可行,但是只有5个状态,其中一个状态是处理过程,这个关键的状态还是不透明。如果文件很大,这个过程还是要耗比较长的时间的。这样进度的作用未得到完全体现。
个人认为的难点:服务器端读取一块数据,发送一个信号;而不是读完再发送信号。但是程序中的事务机制,事件是不可分割的,要么做完,要么不做。
那么我想突破点在于:重写保存文件的事件。
还有一个想法,就是在客户端将数据分块到缓存,一块一块的上传。不知道具体实现。
第三个想法,根据测试网速的原理,先测试出速度,那么一切就好办了。可是在上传过程中不能保证网络的稳定性。
本人不知道桌面程序是怎么获得进度的,知道的提供个思路呗。所谓分块读取发送信号真的可行吗?WCF,Ajax,iframe,XMLHttpRequest,SwfUPload等关键点在什么地方?……
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?