private void ProgressMessageHandlerOnHttpReceiveProgress(object sender, HttpProgressEventArgs e) { Dispatcher.BeginInvoke(new Action(() => { ImageLoadProgressBar.Value = e.ProgressPercentage; })); }
private void OnHttpRequestPrgogressing(object sender, HttpProgressEventArgs e) { if (OnProgressing != null) { OnProgressing(this, new ProgressEventArgs(e.Offset, e.Total, e.LatestSize)); } }
private static void HttpSendProgress(object sender, HttpProgressEventArgs e) { HttpRequestMessage request = sender as HttpRequestMessage; // Do something with the event // e.ProgressPercentage, e.TotalBytes, e.BytesTransferred }
private void VProgressBarCurrentUpdate(HttpProgressEventArgs value) { // Dont care about long > int convert, because we have 100MB limit upload if (value.TotalBytes != null) { VProgressBarCurrentUpdate(value.ProgressPercentage, (int)value.BytesTransferred, (int)value.TotalBytes); } }
private void OnDownloadProgress(object sender, HttpProgressEventArgs e) { //Console.WriteLine($"{e.ProgressPercentage}% {e.BytesTransferred} of {e.TotalBytes}"); if (DownloadProgressChanged != null) { DownloadProgressChanged(sender, e); } }
/// <summary> /// Reads incoming content async with progress report. /// </summary> private static async Task <DownloadPhotoInfo> readContentStreamAsync(IProgress <HttpProgressEventArgs> progress, CancellationToken ct, HttpResponseMessage response) { logger.Debug($"Асинхронное чтение контента из потока."); if (response.Content.Headers.ContentLength == null) { const string msg = "У загружаемого контента отсутствуют заголовки (Headers.ContentLenght == null)."; logger.Error(msg); return(new DownloadPhotoInfo { Successful = false, ErrorMessage = msg }); } var totalBytes = response.Content.Headers.ContentLength.Value; using (var contentStream = await response.Content.ReadAsStreamAsync()) { using (var stream = new MemoryStream(8192)) { var totalRead = 0L; var buffer = new byte[8192]; var isMoreToRead = true; do { if (ct.IsCancellationRequested) { break; } var read = await contentStream.ReadAsync(buffer, 0, buffer.Length, ct); if (read == 0) { isMoreToRead = false; } else { await stream.WriteAsync(buffer, 0, read, ct); totalRead += read; var progressPercent = (((float)totalRead / (float)totalBytes) * 100); var e = new HttpProgressEventArgs((int)progressPercent, null, totalRead, totalBytes); progress.Report(e); } } while (isMoreToRead); var bytes = stream.ToArray(); return(new DownloadPhotoInfo { Successful = true, Photo = bytes }); } } }
private void onProgressChanged(object sender, HttpProgressEventArgs e) { UploadProgress = e.ProgressPercentage; BytesTransferedString = SizeHelper.Suffix(e.BytesTransferred); if (e.TotalBytes != null) { BytesTotalString = SizeHelper.Suffix(e.TotalBytes.Value); } }
//進行檔案下載事件 private static void _progressHandler_HttpReceiveProgress(object sender, HttpProgressEventArgs e) { Console.SetCursorPosition(0, 0); Console.WriteLine("download progress (byte)"); Console.WriteLine("---------------------------"); Console.WriteLine("{0}/{1}", e.BytesTransferred, e.TotalBytes); Console.WriteLine("{0} %", e.ProgressPercentage); Console.WriteLine("---------------------------"); }
private void UpdateProgress(object sender, HttpProgressEventArgs e) { Dispatcher.Invoke(() => { if (e.TotalBytes.HasValue) { progressBar.Value = (100 * e.BytesTransferred) / e.TotalBytes.Value; } }); }
public void ReceivedProgressHandler(object sender, HttpProgressEventArgs e) { // you can uses e.ProgressPercentage but this is calculated based on content length // http header which is very much ignored nowadays if (_lastRecoredBytesTransferred != 0 && e.BytesTransferred < (_lastRecoredBytesTransferred + _expectedBytesTransferred)) { throw new Exception("Too Slow, Abort !"); } _lastRecoredBytesTransferred = e.BytesTransferred; }
private void HttpSendProgress(object sender, HttpProgressEventArgs e) { HttpRequestMessage request = sender as HttpRequestMessage; ProgressBar.Dispatcher.BeginInvoke( DispatcherPriority.Normal, new DispatcherOperationCallback(delegate { ProgressBar.Value = e.ProgressPercentage; return(null); }), null); }
private void ReportProgress(object sender, HttpProgressEventArgs e) { if (System.Windows.Threading.Dispatcher.CurrentDispatcher.CheckAccess()) { double x, y; x = e.BytesTransferred; y = e.TotalBytes.GetValueOrDefault(1); double percentage = x / y * 100; this.UploadPercentage = percentage; //Math.Round(percentage,0); } NotifyOfPropertyChange(() => this.UploadPercentage); }
private void Handler_HttpReceiveProgress(object sender, HttpProgressEventArgs e) { if (Size == null) { Size = (int)e.TotalBytes; } Received = (int)e.BytesTransferred; //触发事件 ReceivedProgress?.Invoke(this.Received, this.Size); }
protected override async Task GetAndSaveFile(string filename) { var progressEventArgs = new HttpProgressEventArgs(0, null, 0, ExternalUrl.Length); DownloadProgressTracker(this, progressEventArgs); using (var textWriter = new StreamWriter(filename)) { var fileContent = ShortcutFileHelper.FromTitleAndUrl(Title, ExternalUrl); await textWriter.WriteAsync(fileContent); progressEventArgs = new HttpProgressEventArgs(100, null, fileContent.Length, fileContent.Length); DownloadProgressTracker(this, progressEventArgs); } }
static void ProgressEventHandler(object sender, HttpProgressEventArgs eventArgs) { // The sender is the originating HTTP request HttpRequestMessage request = sender as HttpRequestMessage; // Write different message depending on whether we have a total length or not string message; if (eventArgs.TotalBytes != null) { message = String.Format(" Request {0} uploaded {1} of {2} bytes ({3}%)", request.RequestUri, eventArgs.BytesTransferred, eventArgs.TotalBytes, eventArgs.ProgressPercentage); } else { message = String.Format(" Request {0} uploaded {1} bytes", request.RequestUri, eventArgs.BytesTransferred, eventArgs.TotalBytes, eventArgs.ProgressPercentage); } // Write progress message to console System.Diagnostics.Trace.TraceInformation(message); }
public static void TickFile(DownloadableLink link, HttpProgressEventArgs progress) { var childProgressBar = ChildrenProgressBars[link]; if (progress.TotalBytes != null) { childProgressBar.MaxTicks = (int)progress.TotalBytes; } // download size progress var transferred = (int)progress.BytesTransferred; var max = childProgressBar.MaxTicks; var bytesProgress = $"{FormatSize(transferred)} / {FormatSize(max)}"; // eta var eta = CalculateEta(transferred, max); _timeByteBpsStamp.Update(DateTime.Now, transferred); var message = $"{bytesProgress} | ETA: {eta} | {link.Name}"; childProgressBar.Tick(transferred, message); }
private void ReportProgress(double done, double max) { var progressEventArgs = new HttpProgressEventArgs((int)done, null, (long)done, (long?)max); DownloadProgressTracker(this, progressEventArgs); }
private static void SendProgressHandler(object sender, HttpProgressEventArgs e) { LogProgress("Sending:", e); }
private void MessageHandler_HttpSendProgress(object sender, HttpProgressEventArgs e) => UploadProgress?.Invoke(e.ProgressPercentage);
private void OnReceiveProgressChanged(object sender, HttpProgressEventArgs e) { Progress = e.ProgressPercentage / 2 + 50; Console.WriteLine($"Progreso {e.ProgressPercentage / 2 + 50}"); StateHasChanged(); }
private void OnSendProgressChanged(object sender, HttpProgressEventArgs e) { Progress = e.ProgressPercentage / 2; Console.WriteLine("Progreso"); StateHasChanged(); }
private static void LogProgress(string prefix, HttpProgressEventArgs e) { Logger.Info($"{prefix} ({e.ProgressPercentage}%) Transfered: {e.BytesTransferred}, Total: {e.TotalBytes}"); }
private static void ReceiveProgressHandler(object sender, HttpProgressEventArgs e) { LogProgress("Receive:", e); }
private static void SendProgress(object sender, HttpProgressEventArgs e) { Debug.WriteLine("Net.Send: " + e.BytesTransferred + " / total: " + e.TotalBytes + "."); }
private static void RecvProgress(object sender, HttpProgressEventArgs e) { Debug.WriteLine("NET.Recive: " + e.BytesTransferred + " / total: " + e.TotalBytes + "."); }
public void Handler(object sender, HttpProgressEventArgs eventArgs) { WasInvoked = true; Sender = sender; EventArgs = eventArgs; }
public static void ProgressHandler(object sender, HttpProgressEventArgs e) { LogToConsole("#", false); }
protected void DownloadProgressTracker(object sender, HttpProgressEventArgs e) { ProgressBarUtil.TickFile(this, e); }
private static void HttpSendProgress(object sender, HttpProgressEventArgs e) { ProgressBarUpdate(e.ProgressPercentage); }
public void SendProgressHandler(object sender, HttpProgressEventArgs e) { // write stuff to handle here when sending data (mainly for post or uploads) Console.WriteLine("Sent data ..."); }