windows-phone-8.1 - mexico - windows phone nokia
¿Cómo obtener el estado de descarga/carga(en%) desde Http Client en la aplicación universal Windows 8.1? (1)
Para el progreso de la descarga, puede devolver el flujo de respuesta de su solicitud HTTP y puede usar el código siguiente para escribir en el archivo que también muestra el estado del progreso
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
{
}
Para cargar Progress, no hay compatibilidad integrada para hacerlo, pero puede usar ProgressMessageHandler que se encuentra en System.Net.Http.Handler, que puede encontrar en Nuget y engancharlo a su objeto HttpClient.
Tengo una especificación en la que es necesario ignorar los certificados HTTPS y también obtener el estado de Cargar / Descargar.
Estoy usando HttpClient para ignorar el certificado, pero no pude encontrar la manera de obtener el estado de descarga / carga.
Sé que estaba allí en WebClient Windows Phone 8 y Webclient no estaba allí en Windows 8.1.
Así que por favor, guíame para lograr ambas cosas.