我有一个系统,它按文件上传到服务器文件并显示文件上传进度的进度条,然后在第二个进度条下方,我想指示所有排队上传的文件的批处理完成百分比。
我可以计算出的信息和算法是:
发送的字节数/要发送的总字节数 = 第一个进度条(例如 1024KB 的 512KB (50%))
这很好用。但是,假设我还有另外两个文件要上传,但两个文件的大小都是未知的(因为这只有在文件即将开始上传时才知道,此时它被压缩并确定文件大小)我将如何去做我的第三个进度条?
我不认为这是可能的,因为我需要“发送的总字节数”/“要发送的总字节数”,以更大规模地复制我的第一个进度条的逻辑,但是我确实得到了一个工作版本:“当前我们正在打开的文件号”/“要发送的文件总数”通过批处理返回百分比,但显然不会增量更新,而且非常粗糙。
因此,进一步思考,我想如果我可以将当前文件 % 与这个算法结合起来,我也许可以得到我批次当前点的正确进度百分比。
我试过这个算法,但是没有用(对不起任何数学头脑,很明显为什么它不起作用)
("Current file number we are on" / "total number of files to send") * ("Bytes Sent" / "Total Bytes To Send")
例如,在使用此示例进行测试时,我认为我在正确的轨道上:2/3(第 3 个文件的第 2 个)= 66%(到目前为止这是正确的)但是当我添加 * 0.20(仅表示第 2 个的 20%文件已上传)我们又回到了 13%。我只需要33%多一点!我确实在 0.80 和 (2/3 * (2/3 * 0.2))
这可以在不知道要批量上传的整个字节的情况下完成吗?
请帮忙!谢谢!