如何找到上传的剩余时间

时间:2013-02-07 06:36:45

标签: iphone ios file-upload upload

在我的Iphone应用中,我正在将视频上传到服务器。 我可以找出总咬人和上传咬人。有没有办法找到上传过程完成的剩余时间

我正在打印这样的叮咬------上传的字节------总字节数-----------

2013-02-07 01:25:33.439 VideoProject[9170:907] ------32768------2195238-----------
2013-02-07 01:25:33.451 VideoProject[9170:907] ------65536------2195238-----------
2013-02-07 01:25:33.456 VideoProject[9170:907] ------98304------2195238-----------
2013-02-07 01:25:33.462 VideoProject[9170:907] ------131072------2195238-----------
.
.
.
.
2013-02-07 01:25:54.443 VideoProject[9170:907] ------2129920------2195238-----------
2013-02-07 01:25:54.449 VideoProject[9170:907] ------2145728------2195238----------- 
2013-02-07 01:25:55.215 VideoProject[9170:907] ------2162688------2195238----------- 
2013-02-07 01:25:55.222 VideoProject[9170:907] ------2193380------2195238-----------
2013-02-07 01:25:55.542 VideoProject[9170:907] ------2195238------2195238-----------

3 个答案:

答案 0 :(得分:1)

您可以保存开始日期,并在每次调用进度函数(或块)时,计算自开始以来经过的时间,并通过简单的交叉乘法找到估计的剩余时间量,因为您知道有多少字节左:

elapsed_time * total_bytes = total_time * downloaded_bytes
remaining_time = total_time - elapsed_time

但是,是的,网络状况可能会随时发生变化,因此不太准确。

答案 1 :(得分:1)

使用“可达性”,您可以实现此次点击here

使用可达性你可以计算网络的速度,然后用这个速度你可以划分剩余的字节,并可以产生上传剩余时间的结果等。

希望这会有所帮助..

答案 2 :(得分:1)

  • 获取以秒为单位上传字节的时间。
  • 以秒为单位估算总时间。  这可以通过比较字节
  • 找到
  • 通过找出差异找到剩余时间。
  • 使用以下内容获取小时,分钟,秒。

`

- (NSDictionary*)createTimemapForSeconds:(int)seco                                   
  {
       int hours = floor(seco / (60 * 60) );

       float minute_divisor = seco % (60 * 60);
       int minut = floor(minute_divisor / 60);

       float seconds_divisor = seco % 60;
       seco = ceil(seconds_divisor);

       NSDictionary * timeMap = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSNumber numberWithInt:hours], [NSNumber numberWithInt:minut], [NSNumber numberWithInt:seco], nil] forKeys:[NSArray arrayWithObjects:@"h", @"m", @"s", nil]];

       return timeMap;
    }