Xamarin Android WebRequest字节读取意外为0

时间:2015-01-06 15:04:17

标签: c# android xamarin xamarin.android webrequest

我正在使用最新版本的Xamarin Android并在Nexus 5上进行测试。我正在创建一个HttpWebRequest来下载视频,但我很难及早完成并且没有完全下载该文件。

我的代码的重要部分如下:

var webRequest = (HttpWebRequest) WebRequest.Create(url);
using (var response = webRequest.GetResponse())
{
    long totalBytes = 0;

    using (var responseStream = response.GetResponseStream())
    {
        using (var dest = new FileStream(realPath, FileMode.CreateNew, FileAccess.Write))
        {
            int currentBlockSize;

            while ((currentBlockSize = responseStream.Read(buffer, 0, buffer.Length)) > 0)
            {
                totalBytes += currentBlockSize;
                var percentage = (int) (totalBytes*100.0/totalSize);

                dest.Write(buffer, 0, currentBlockSize);

                if (progress != null)
                    progress(percentage, totalBytes, totalSize);

                if (cancel)
                {
                    didCancel = true;
                    break;
                }
            }
        }
    }
}

大约三分之一,虽然我不会得到基于我的响应头的我期望的完整字节。在文件下载之前,responseStream.Read()将返回0路。

0 个答案:

没有答案