ASP.Net/Components/File Upload

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

File Upload Demo (C#)

<%@ Page language="c#" src="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="UploadFile.WebForm1" %>
<HTML>
  <body>
    <form id="Form1" enctype="multipart/form-data" method="post" runat="server">
      <INPUT id="FileInput" style="Z-INDEX: 101; LEFT: 32px; WIDTH: 552px; POSITION: absolute; TOP: 24px; HEIGHT: 24px" type="file" size="72" name="File1" runat="server">
      <asp:button id="cmdUpload" style="Z-INDEX: 102; LEFT: 32px; POSITION: absolute; TOP: 72px" runat="server" Text="Upload"></asp:button>
      <asp:Label id="lblInfo" style="Z-INDEX: 103; LEFT: 32px; POSITION: absolute; TOP: 128px" runat="server" Width="608px" Height="72px" Font-Names="Verdana" Font-Size="Medium" Font-Bold="True"></asp:Label></form>
  </body>
</HTML>

<%--
using System;
using System.Collections;
using System.ruponentModel;
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 System.IO;
namespace UploadFile
{
  /// <summary>
  /// Summary description for WebForm1.
  /// </summary>
  public class WebForm1 : System.Web.UI.Page
  {
    protected System.Web.UI.WebControls.Button cmdUpload;
    protected System.Web.UI.WebControls.Label lblInfo;
    protected System.Web.UI.HtmlControls.HtmlInputFile FileInput;
  
    private void Page_Load(object sender, System.EventArgs e)
    {
      // Only accept image types.
      FileInput.Accept = "image/*";
    }
    #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.cmdUpload.Click += new System.EventHandler(this.cmdUpload_Click);
      this.Load += new System.EventHandler(this.Page_Load);
    }
    #endregion
    private void cmdUpload_Click(object sender, System.EventArgs e)
    {
            if (FileInput.PostedFile.FileName == "")
            {
                lblInfo.Text = "No file specified.";
            }
            else
            {
                try
                {
                    string serverFileName = Path.GetFileName(FileInput.PostedFile.FileName);
                    //FileInput.PostedFile.SaveAs(@"c:\" + serverFileName);
                    FileInput.PostedFile.SaveAs(MapPath(".") + serverFileName);
                    lblInfo.Text = "File " + serverFileName;
                    lblInfo.Text += " uploaded successfully.";
                }
                catch (Exception err)
                {
                    lblInfo.Text = err.Message;
                }
            }
    }
  }
}
--%>



File Uploading in ASP.NET (VB.net)

<%@ Page Language="vb" %>
<html>
   <head>
      <title>File Uploading in ASP.NET</title>
   <script runat="server">
      Sub UploadBtn_Click(Sender as Object, e as EventArgs)
         If InStr(Request.ContentType, "multipart/form-data") Then
            Dim Counter1 As Integer
            Dim Keys() As String
            Dim Files As HttpFileCollection
 
            Files = Request.Files
            Keys = Files.AllKeys
            For Counter1 = 0 To Keys.GetUpperBound(0)
               Response.Write("File ID: " & Keys(Counter1) & "<br>")
               Response.Write("File Name/Path: " & Files(Counter1).FileName & "<br>")
            Next Counter1
         Else
            Response.Write("No files uploaded, or wrong content type!")
         End If
      End Sub
   </script>
   </head>
<body>
<form id="UploadForm" action="retrieveFiles.aspx" method="post" enctype="multipart/form-data" runat="server">
   Select File To Upload to Server: 
   <br>
   <input id="MyFile" type="file" runat="server">
   <br>
   <input id="MyFile2" type="file" runat="server">
   <br>
   <input type="submit" value="Upload!" onserverclick="UploadBtn_Click" runat="server" id="Submit1">
</form>
</body>
</html>

<%-- retrieveFiles.aspx
<%@ Page Language="vb" %>
<html>
   <head>
      <title>File Uploading in ASP.NET</title>
   <script runat="server">
      Sub Page_Load()
         If InStr(Request.ContentType, "multipart/form-data") Then
            Dim Counter1 As Integer
            Dim Keys() As String
            Dim Files As HttpFileCollection
 
            Files = Request.Files
            Keys = Files.AllKeys
            For Counter1 = 0 To Keys.GetUpperBound(0)
               Response.Write("File ID: " & Keys(Counter1) & "<br>")
               Response.Write("File Name/Path: " & Files(Counter1).FileName & "<br>")
            Next Counter1
         Else
            Response.Write("No files uploaded, or wrong content type!")
         End If
      End Sub
   </script>
   </head>
<body>
<br>
</body>
</html>
--%>



Upload File control (C#)

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        if (upImage.HasFile)
        {
            if (CheckFileType(upImage.FileName))
            {
                upImage.SaveAs(MapPath(upImage.FileName));
            }
        }
    }
    bool CheckFileType(string fileName)
    {
        string ext = Path.GetExtension(fileName);
        switch (ext.ToLower())
        {
            case ".gif":
                return true;
            case ".png":
                return true;    
            case ".jpg":
                return true;            
            case ".jpeg":
                return true;
            default:
                return false;        
        }
    }
    void Page_PreRender()
    {
        string upFolder = MapPath(".");
        DirectoryInfo dir = new DirectoryInfo(upFolder);
        dlstImages.DataSource = dir.GetFiles();
        dlstImages.DataBind();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>FileUpload File</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Label
        id="lblImageFile"
        Text="Image File:"
        AssociatedControlID="upImage"
        Runat="server" />
    <asp:FileUpload
        id="upImage"
        Runat="server" />
    <br /><br />
    
    <asp:Button
        id="btnAdd"
        Text="Add Image"
        OnClick="btnAdd_Click" 
        Runat="server" />
    <hr />
    
    <asp:DataList
        id="dlstImages"
        RepeatColumns="3"
        runat="server">
        <ItemTemplate>
        <asp:Image ID="Image1" 
            ImageUrl="<%# Eval("Name", "./{0}") %>"
            style="width:200px"
            Runat="server" />
        <br />
        <%# Eval("Name") %>    
        </ItemTemplate>
    </asp:DataList>
    
    </div>
    </form>
</body>
</html>



Upload file to the server (VB.net)

<%@ Page Language=VB Debug=true %>
<script runat=server>
Sub SubmitButton_Click(Source As Object, e As EventArgs)
    MyFile.PostedFile.SaveAs(txtFileSaveAs.Value)
    TheMessage.InnerHTML = "File uploaded!"
End Sub
</SCRIPT>
<HTML>
<HEAD>
<TITLE>Upload Sample Page</TITLE>
</HEAD>
<BODY>
<form enctype="multipart/form-data" runat="server">
Enter the name and path of the file to upload:
<input 
    id="MyFile" 
    type="file" 
    runat="server"
>
<BR><BR>
Enter the name only to save the file as: <BR>
<input 
    id="txtFileSaveAs" 
    type="text" 
    runat="server"
>
<BR><BR>
<span 
    id="TheMessage"
    runat="server"
>
</span>
<BR><BR>
<input 
    runat="server"
    type=button 
    value="Upload" 
    OnServerClick="SubmitButton_Click" 
>
</Form>
</BODY>
</HTML>



Uploading Files with the HTML Input File Control (VB.net)

<%@ Page Language=VB Debug=true %>
<script runat=server>
Sub SubmitButton_Click(Source As Object, e As EventArgs)
"   Not working 
"   Change the following folder as your settings
"    MyFile.PostedFile.SaveAs("./" & txtFileSaveAs.Value)
    TheMessage.InnerHTML = "File uploaded!"
End Sub
</SCRIPT>
<HTML>
<HEAD>
<TITLE>Uploading Files with the HTMLInputFile Control</TITLE>
</HEAD>
<BODY>
<form 
    enctype="multipart/form-data" 
    runat="server">
Enter the name and path of the file to upload:
<BR>
<input 
    id="MyFile" 
    type="file" 
    runat="server"
>
<BR><BR>
Enter the name only to save the file as: <BR>
<input 
    id="txtFileSaveAs" 
    type="text" 
    runat="server"
>
<BR><BR>
<span 
    id="TheMessage"
    runat="server"
>
</span>
<BR><BR>
<input 
    runat="server"
    type=button 
    value="Upload" 
    OnServerClick="SubmitButton_Click" 
>
</Font>
</Form>
</BODY>
</HTML>