This class encapsulates an upload process as a single whole and provides an access to information of upload process such as upload environment,
uploaded files, form fields and upload status.
Namespace:
EasyAlgo.EAUploadAssembly: EasyAlgo.EAUpload (in EasyAlgo.EAUpload.dll)
Version: 1.3.0.0
Syntax
| C# |
|---|
public class Upload |
| Visual Basic (Declaration) |
|---|
Public Class Upload |
Remarks
The Upload class allows you to perform the following tasks:
This class acts as a wrapper for files upload process and allows to manage upload process as on Initializing stage as on Uploading stage.
You cannot create an instance of this class with the new keyword. You can obtain its by call the UploadsManager..::.GetUpload()()() method or UploadsManager..::.GetUpload(String) method of the EasyAlgo.EAUpload..::.UploadsManager class.
- Getting an access to uploaded files and their storring
- Getting information of upload process such as transfer rate, percents done etc.
- Setting an environment as for particular upload process as for all upload processes.
- Managing of all upload processes that are processed on a server
This class acts as a wrapper for files upload process and allows to manage upload process as on Initializing stage as on Uploading stage.
You cannot create an instance of this class with the new keyword. You can obtain its by call the UploadsManager..::.GetUpload()()() method or UploadsManager..::.GetUpload(String) method of the EasyAlgo.EAUpload..::.UploadsManager class.
Examples
The following code example demonstrates how to use the Upload class for access to uploaded files.
CopyC#
CopyVB.NET
// UploadFile.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 UploadFile : System.Web.UI.Page { protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.Label lblResponse; private void Page_Load(object sender, System.EventArgs e) { } #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); } private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { lblResponse.Text = ""; Upload _upload = UploadsManager.GetUpload(); // Define directory to which an uploaded files will be stored. string SaveFolder = Server.MapPath("") + "\\UploadedFiles\\"; if (_upload != null && _upload.Status.State == UploadState.Complete) { // Iterate through uploaded files collection. for (int i = 0; i < _upload.UploadedFiles.Count; i++) { UploadedFile _file = _upload.UploadedFiles[i]; // Save an uploaded file to a specific location // with name that was been on the client's machine. // You can save an uploaded file with any name. // To do that, just specify the required name in "path" parameter of SaveAs method. _file.SaveAs(SaveFolder + _file.QualifiedFileName, true); // Fill the response lable lblResponse.Text += "File uploaded successfully: <br />"; lblResponse.Text += "File was saved as: " + _file.StoredFileName + "<br />"; lblResponse.Text += "Client file name: " + Server.HtmlEncode(_file.ClientFileName) + "<br />"; lblResponse.Text += "Content type: " + _file.ContentType + "<br />"; lblResponse.Text += "File size: " + _file.ContentLength + "<br /><br />"; } // Retrieve a value of text field from form fields collection // (You can use also Request.Form property to retrieve a value of form field). // Use HttpServerUtility.HtmlEncode method when you display data that is inputted by the user. // It allows you to prevent cross-site scripting attacks. lblResponse.Text += "Comment: " + Server.HtmlEncode(_upload.FormElements["comment"]) + "<br /><br />"; if (_upload.UploadedFiles.Count == 0) { lblResponse.Text += "You doesn't selected any file."; } } else { lblResponse.Text += "Upload is unsuccessful! <br />"; if (_upload != null && _upload.LastError != null) { lblResponse.Text += "Upload state: " + _upload.Status.State.ToString() + "<br />"; lblResponse.Text += "An error was occurred: " + _upload.LastError.Message; } } } } } // -------------------------------------------------- // UploadFile.aspx <%@ Page language="c#" Codebehind="UploadFile.aspx.cs" AutoEventWireup="false" Inherits="EAUploadExamples.UploadFile" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>Upload to the same page.</title> <link rel="stylesheet" href="ExamplesStyle.css"> </HEAD> <body> This example demonstrates how to upload file to the same page by handling a button click event. Code for files processing is located in codebehind file. <br> <br> <form id="Form1" method="post" runat="server" enctype="multipart/form-data"> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none"> <tbody> <tr> <td>Select file 1:</td> <td><input type="file" name="file1" size="40" id="file1"></td> </tr> <tr> <td>Select file 2:</td> <td><input type="file" name="file2" size="40" id="file2"></td> </tr> <tr> <td>Comment:</td> <td><input type="text" name="comment"></td> </tr> <tr> <td> </td> <td> <asp:Button id="Button1" runat="server" Width="80px" Text="Upload"></asp:Button> </td> </tr> </tbody> </table> <br> <asp:Label id="lblResponse" runat="server"></asp:Label> </form> </body> </HTML>
' UploadFile.aspx.vb Imports System Imports System.Web Imports System.Web.UI Imports EasyAlgo.EAUpload Public Class UploadFile 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 Protected WithEvents Button1 As System.Web.UI.WebControls.Button Protected WithEvents lblResponse As System.Web.UI.WebControls.Label '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 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click lblResponse.Text = "" Dim _upload As Upload = UploadsManager.GetUpload ' Define directory to which an uploaded files will be stored. Dim SaveFolder As String = Server.MapPath("") & "\UploadedFiles\" If ((Not _upload Is Nothing) AndAlso (_upload.Status.State = UploadState.Complete)) Then Dim i As Integer ' Iterate through uploaded files collection. For i = 0 To _upload.UploadedFiles.Count - 1 Dim _file As UploadedFile = _upload.UploadedFiles.Item(i) ' Save an uploaded file to a specific location ' with name that was been on the client's machine. ' You can save an uploaded file with any name. ' To do that, just specify the required name in "path" parameter of SaveAs method. _file.SaveAs(SaveFolder & _file.QualifiedFileName, True) ' Fill the response lable lblResponse.Text &= "File uploaded successfully: <br />" lblResponse.Text &= "File was saved as: " & _file.StoredFileName & "<br />" lblResponse.Text &= "Client file name: " & Server.HtmlEncode(_file.ClientFileName) & "<br />" lblResponse.Text &= "Content type: " & _file.ContentType & "<br />" lblResponse.Text &= "File size: " & _file.ContentLength & "<br /><br />" Next i ' Retrieve a value of text field from form fields collection ' (You can use also Request.Form property to retrieve a value of form field). ' Use HttpServerUtility.HtmlEncode method when you display data that is inputted by the user. ' It allows you to prevent cross-site scripting attacks. lblResponse.Text &= "Comment: " & Server.HtmlEncode(_upload.FormElements.Item("comment")) & "<br /><br />" If (_upload.UploadedFiles.Count = 0) Then lblResponse.Text &= "You doesn't selected any file." End If Else lblResponse.Text &= "Upload is unsuccessful! <br />" If ((Not _upload Is Nothing) AndAlso (Not _upload.LastError Is Nothing)) Then lblResponse.Text &= "Upload state: " & _upload.Status.State.ToString & "<br />" lblResponse.Text &= "An error was occurred: " & _upload.LastError.Message End If End If End Sub End Class ' -------------------------------------------------- ' UploadFile.aspx <%@ Page language="vb" Codebehind="UploadFile.aspx.vb" AutoEventWireup="false" Inherits="EAUploadExamples.WebForm1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>File upload example.</title> <link rel="stylesheet" href="ExamplesStyle.css"> </HEAD> <body> This example demonstrates how to upload file to the same page by handling a button click event. Code for files processing is located in codebehind file. <br> <br> <form id="Form1" method="post" runat="server" enctype="multipart/form-data"> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none"> <tbody> <tr> <td>Select file 1:</td> <td><input type="file" name="file1" size="40" id="file1"></td> </tr> <tr> <td>Select file 2:</td> <td><input type="file" name="file2" size="40" id="file2"></td> </tr> <tr> <td>Comment:</td> <td><input type="text" name="comment"></td> </tr> <tr> <td> </td> <td> <asp:Button id="Button1" runat="server" Width="80px" Text="Upload"></asp:Button> </td> </tr> </tbody> </table> <br> <asp:Label id="lblResponse" runat="server"></asp:Label> </form> </body> </HTML>
