Windows phone 8.1 如何在Windows 8.1 Universal App中从Http客户端获取下载/上载状态(以百分比为单位)?

Windows phone 8.1 如何在Windows 8.1 Universal App中从Http客户端获取下载/上载状态(以百分比为单位)?,windows-phone-8.1,windows-8.1,win-universal-app,Windows Phone 8.1,Windows 8.1,Win Universal App,我有一个规范,其中需要忽略HTTPS证书,并获取上载/下载状态 我正在使用HttpClient忽略证书,但我无法找到获取下载/上载状态的方法 我知道它存在于WebClient Windows Phone 8中,而WebClient不存在于Windows 8.1中 所以请引导我完成这两件事 对于下载进度,您可以从Http请求返回响应流,并可以使用下面的代码写入文件,该文件还显示进度状态 IInputStream inputStream = null; IRandomAcc

我有一个规范,其中需要忽略HTTPS证书,并获取上载/下载状态

我正在使用HttpClient忽略证书,但我无法找到获取下载/上载状态的方法

我知道它存在于WebClient Windows Phone 8中,而WebClient不存在于Windows 8.1中


所以请引导我完成这两件事

对于下载进度,您可以从Http请求返回响应流,并可以使用下面的代码写入文件,该文件还显示进度状态

 IInputStream inputStream = null;
            IRandomAccessStream fs = null;
            try
            {
                inputStream = responseStream.AsInputStream();
                ulong totalBytesRead = 0;
                fs = await file.OpenAsync(FileAccessMode.ReadWrite);
                ulong fileSize = Convert.ToUInt64(Size);

                while (true)
                {
                    // Read from the web.
                    if (!cancellationToken.IsCancellationRequested)
                    {
                        IBuffer buffer = new Windows.Storage.Streams.Buffer(512);
                        buffer = await inputStream.ReadAsync(
                           buffer,
                           buffer.Capacity,
                           InputStreamOptions.None);

                        if (buffer.Length == 0)
                        {
                            // There is nothing else to read.
                            break;
                        }


                        // Report progress.

                        totalBytesRead += buffer.Length;

                        double progress = ((double)totalBytesRead / fileSize);
                        double Value = progress * 100;

                        System.Diagnostics.Debug.WriteLine("Bytes read: {0}", totalBytesRead);

                        await fs.WriteAsync(buffer);

                    }
                    else
                    {
                        inputStream.Dispose();
                        fs.Dispose();

                        await file.DeleteAsync();
                        break;
                    }
                }

                inputStream.Dispose();
                fs.Dispose();


        }
        catch
        {
        }
对于上传进度,没有内置的支持,但是您可以使用
在System.Net.Http.Handler中找到,您可以在Nuget上找到它,然后将其挂接到您的HttpClient对象。

Ya我已经这样做了,但我只收到了已发送的内容状态,而没有收到的总字节数(我收到的总字节数=0B)这意味着我只能获得50%的状态。@SunilKumarSC我不知道您的服务器API是如何实现的,但您需要提前知道文件大小以跟踪下载进度。好的,我知道了,非常感谢您