IIS托管文件下载完成率为66%

问题描述

| 我有一个android应用程序,该应用程序是从通过IIS托管文件的服务器下载文件的。下载文件时,我有一个进度条显示用户。如果我将文件托管在保管箱上并从那里而不是IIS服务器获取文件,则进度条将正常工作。但是,当我从IIS服务器获取文件时,进度条得到的最新更新将其提高到66%,然后文件下载完毕。下载后我检查了文件大小,它肯定是整个文件。这是我正在使用的mp4文件,虽然\'。mp4 \'的MIME类型设置为:\'video / mpeg \',但我也尝试过\'video / mp4 \'和\'file / mpeg \'都不能解决问题。我以为可能与IIS中的“压缩”设置有关,所以我同时禁用了静态和动态压缩,这使进度条一直达到100%,但是下载花费了更长的时间。 IIS中是否存在其他可能导致此行为的设置?     

解决方法

        我在IIS服务器上启用了动态压缩,这导致对HTTP请求的响应包含的文件大小大于实际文件的大小。我在响应中得到的大小就是我确定要设置进度条的程度。足够聪明地意识到文件在完成时就完成了,但是进度条的依据是文件大小过大。我不确定为什么动态压缩会使其报告的大小大于实际大小。我本来想,如果有的话,它会减小尺寸。但是无论如何,我关闭了动态压缩,现在一切都很好。