Gets the status information of an upload.
Namespace:
EasyAlgo.EAUploadAssembly: EasyAlgo.EAUpload (in EasyAlgo.EAUpload.dll)
Version: 1.3.0.0
Syntax
| C# |
|---|
public UploadStatus Status { get; } |
| Visual Basic (Declaration) |
|---|
Public ReadOnly Property Status As UploadStatus |
Field Value
Type: EasyAlgo.EAUpload..::.UploadStatusThe instance of an UploadStatus class that is associated with Upload object and contains all status information(such as transfer rate, percents done etc) of an upload process.
Remarks
Use this property to get a progress information about of the specific upload at the runtime.
Note:
If you want use this property then you should get an Upload class instance by GetUpload(String) method.
Examples
The following code example demonstrates how to get a status information and display its on the web page.
(The following code is a part of example that is included in distribution package.)
CopyC#
CopyVB.NET
(The following code is a part of example that is included in distribution package.)
// UploadStatusInfo.aspx.cs using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using EasyAlgo.EAUpload; namespace EAUploadExamples { public class UploadStatusInfo : System.Web.UI.Page { public UploadStatus _status = null; private void Page_Load(object sender, System.EventArgs e) { // We need to declare that the page should not be cached. Response.CacheControl = "No-cache"; Response.Expires = -1; // Retrieve an unique identifier of Upload object from the query string string UploadId = Request.QueryString["UploadId"]; // Get Upload class instance for the specific upload process Upload _upload = UploadsManager.GetUpload(UploadId); _status = _upload.Status; } // Returns a meta-data for page refresh. public string GetRefreshMeta() { return "<meta http-equiv=\"Refresh\" content=\"2;URL=UploadStatusInfo.aspx?UploadId=" + Request.QueryString["UploadID"] + "\">"; } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } } // -------------------------------------------- // UploadStatusInfo.aspx <%@ Page language="c#" Codebehind="UploadStatusInfo.aspx.cs" AutoEventWireup="false" Inherits="EAUploadExamples.UploadStatusInfo" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>Uploading - <% = _status.PercentsDone.ToString() + "%" %></title> <% = GetRefreshMeta() %> <link rel="stylesheet" href="ExamplesStyle.css"> <script language="javascript" src="JSCore.js"></script> <script type="text/javascript" > function CheckOnSuccessfullyUpload(UploadState) { if (UploadState == "Complete") { window.close(); } if (IsStopCommandSupported() == false) { // Just hide "Cancel" button if browser doesn't support javascript "stop" command. document.getElementById("cancelButton").style.display = "none"; } } </script> </HEAD> <body onload="CheckForSuccessfullyUpload('<% = _status.State.ToString() %>');"> <table> <tr> <td> <div id="container" style="width: 500px; border: 1px solid #0000ff; line-height: 20px; background-color: #d4d0c8;"> <div id="progress" style="BACKGROUND: #009900; HEIGHT: 10px; width: <% = _status.PercentsDone.ToString() + "%" %>"></div> </div> </td> <td style="padding-left: 5px;"> <div style="width: 15px; line-height: 20px;"><% = _status.PercentsDone.ToString() %>%</div> </td> </tr> </table> <span style="font-weight: bold;">Uploaded <% = (Math.Round((double)_status.UploadedBytes / 1024)).ToString() %> KB of <% = (Math.Round((double)_status.TotalBytes / 1024)).ToString() %> KB</span> <br><br> <a id="cancelButton" onclick="window.opener.cancelUpload()"><img src="images/cancel_button.gif" border="0" /></a> <br><br> Full status info: <br/> Time elapsed: <% = _status.ElapsedTime.ToString() %> sec <br/> Remaining time: <% = _status.RemainingTime.ToString() %> sec <br/> Percents done: <% = _status.PercentsDone.ToString() %> % <br/> Uploaded bytes: <% = _status.UploadedBytes.ToString() %> bytes <br/> Total bytes: <% = _status.TotalBytes.ToString() %> bytes <br/> Uploaded files count: <% = _status.UploadedFilesCount.ToString() %> <br/> Upload speed (bytes per second): <% = _status.BytesPerSecond.ToString() %> bytes/sec <br/> Upload speed avarage (bytes per second): <% = _status.BytesPerSecondAvg.ToString() %> bytes/sec <br/> Curent uploading file: <% = _status.CurrentFileName %> <br/> Uploaded bytes of uploading file: <% = _status.CurrentFileUploadedBytes.ToString() %> bytes <br/> </body> </HTML>
' UploadStatusInfo.aspx.vb Imports System Imports System.Web Imports System.Web.UI Imports EasyAlgo.EAUpload Public Class UploadStatusInfo Inherits System.Web.UI.Page #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'Do not delete or move it. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Public _status As UploadStatus = Nothing Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' We need to declare that the page should not be cached. Response.CacheControl = "No-cache" Response.Expires = -1 ' Retrieve an unique identifier of Upload object from the query string Dim UploadId As String = Request.QueryString.Item("UploadId") ' Get Upload class instance for the specific upload process Dim _upload As Upload = UploadsManager.GetUpload(UploadId) _status = _upload.Status End Sub ' Returns a meta-data for page refresh. Public Function GetRefreshMeta() As String Return ("<meta http-equiv=""Refresh"" content=""2;URL=UploadStatusInfo.aspx?UploadId=" & Request.QueryString.Item("UploadId") & """>") End Function End Class ' -------------------------------------------- ' UploadStatusInfo.aspx <%@ Page language="vb" Codebehind="UploadStatusInfo.aspx.vb" AutoEventWireup="false" Inherits="EAUploadExamples.UploadStatusInfo" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>Uploading - <% = _status.PercentsDone & "%" %></title> <% = GetRefreshMeta %> <link rel="stylesheet" href="ExamplesStyle.css"> <script language="javascript" src="JSCore.js"></script> <script type="text/javascript" > function CheckOnSuccessfullyUpload(UploadState) { if (UploadState == "Complete") { window.close(); } if (IsStopCommandSupported() == false) { // Just hide "Cancel" button if browser doesn't support javascript "stop" command. document.getElementById("cancelButton").style.display = "none"; } } </script> </HEAD> <body onload="CheckForSuccessfullyUpload('<% = _status.State %>');"> <table> <tr> <td> <div id="container" style="width: 500px; border: 1px solid #0000ff; line-height: 20px; background-color: #d4d0c8;"> <div id="progress" style="BACKGROUND: #009900; HEIGHT: 10px; width: <% = _status.PercentsDone & "%" %>"></div> </div> </td> <td style="padding-left: 5px;"> <div style="width: 15px; line-height: 20px;"><% = _status.PercentsDone %>%</div> </td> </tr> </table> <span style="font-weight: bold;">Uploaded <% = Int(_status.UploadedBytes / 1024) %> KB of <% = Int(_status.TotalBytes / 1024) %> KB</span> <br><br> <a id="cancelButton" onclick="window.opener.cancelUpload()"><img src="images/cancel_button.gif" border="0" /></a> <br><br> Full status info: <br/> Time elapsed: <% = _status.ElapsedTime %> sec <br/> Remaining time: <% = _status.RemainingTime %> sec <br/> Percents done: <% = _status.PercentsDone %> % <br/> Uploaded bytes: <% = _status.UploadedBytes %> bytes <br/> Total bytes: <% = _status.TotalBytes %> bytes <br/> Uploaded files count: <% = _status.UploadedFilesCount %> <br/> Upload speed (bytes per second): <% = _status.BytesPerSecond %> bytes/sec <br/> Upload speed avarage (bytes per second): <% = _status.BytesPerSecondAvg %> bytes/sec <br/> Curent uploading file: <% = _status.CurrentFileName %> <br/> Uploaded bytes of uploading file: <% = _status.CurrentFileUploadedBytes %> bytes <br/> </body> </HTML>
