我有一个android应用程序,它正在从IIS托管文件的服务器下载文件。我有一个进度条,在下载文件时会显示给用户。如果我在dropbox上托管我的文件,并从那里而不是IIS服务器获取它,进度条就会正常工作。然而,当我从IIS服务器获取文件时,进度条得到的最后一次更新将其提升到66%,然后文件就完成了下载。我在下载后检查了文件大小,它肯定会得到整个文件。这是我正在处理的一个mp4文件,我将".mp4"的MIME类型设置为:"video/mpeg",尽管我也尝试过"video/mp4"one_answers"file/mpeg"——它们都没有纠正问题。我想这可能与IIS中的压缩设置有关,所以我禁用了静态和动态压缩,这使进度条一直达到100%,但下载时间更长。IIS中是否有其他设置可能导致此行为?
我在IIS服务器上启用了Dynmaic压缩,这导致对HTTP请求的响应包含比实际文件大的文件大小。我在回应中得到的大小就是我如何计算出设定进度条的距离。它很聪明,意识到文件已经完成,但进度条的进度是基于膨胀的文件大小。我不知道为什么动态压缩会使其报告的大小比实际情况更大。如果有什么不同的话,我会想它会小一点。但无论如何,我关闭了动态压缩,现在一切都很好。