·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> ASP.NET - FileUpload Web 服务器控件概述(下)

ASP.NET - FileUpload Web 服务器控件概述(下)

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23
示例

第一个示例演示如何创建 FileUpload 控件,该控件将文件保存到代码中指定的路径。

<%@ Page Language="C#" %>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<script runat="server">



  PRotected void UploadButton_Click(object sender, EventArgs e)

  {

    // Specify the path on the server to

    // save the uploaded file to.

    String savePath = @"c:\temp\uploads\";



    // Before attempting to perform Operations

    // on the file, verify that the FileUpload

    // control contains a file.

    if (FileUpload1.HasFile)

    {

      // Get the name of the file to upload.

      String fileName = FileUpload1.FileName;



      // Append the name of the file to upload to the path.

      savePath += fileName;





      // Call the SaveAs method to save the

      // uploaded file to the specified path.

      // This example does not perform all

      // the necessary error checking.               

      // If a file with the same name

      // already exists in the specified path,  

      // the uploaded file overwrites it.

      FileUpload1.SaveAs(savePath);



      // Notify the user of the name of the file

      // was saved under.

      UploadStatusLabel.Text = "Your file was saved as " + fileName;

    }

    else

    {      

      // Notify the user that a file was not uploaded.

      UploadStatusLabel.Text = "You did not specify a file to upload.";

    }



  }

</script>



<html  >

<head runat="server">

    <title>FileUpload Example</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

       <h4>Select a file to upload:</h4>



       <asp:FileUpload id="FileUpload1"                 

           runat="server">

       </asp:FileUpload>



       <br /><br />



       <asp:Button id="UploadButton"

           Text="Upload file"

           OnClick="UploadButton_Click"

           runat="server">

       </asp:Button>    



       <hr />



       <asp:Label id="UploadStatusLabel"

           runat="server">

       </asp:Label>        

    </div>

    </form>

</body>

</html>



      第二个示例演示如何创建 FileUpload 控件,该控件将文件保存到文件系统中针对应用程序的指定目录。

<%@ Page Language="C#" %>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<script runat="server">



    protected void UploadButton_Click(object sender, EventArgs e)

    {

        // Save the uploaded file to an "Uploads" directory

        // that already exists in the file system of the

        // currently executing asp.net application.  

        // Creating an "Uploads" directory isolates uploaded

        // files in a separate directory. This helps prevent

        // users from overwriting existing application files by

        // uploading files with names like "Web.config".

        string saveDir = @"\Uploads\";



        // Get the physical file system path for the currently

        // executing application.

        string appPath = Request.PhysicalApplicationPath;



        // Before attempting to save the file, verify

        // that the FileUpload control contains a file.

        if (FileUpload1.HasFile)

        {

            string savePath = appPath + saveDir +

                Server.HtmlEncode(FileUpload1.FileName);



            // Call the SaveAs method to save the

            // uploaded file to the specified path.

            // This example does not perform all

            // the necessary error checking.               

            // If a file with the same name

            // already exists in the specified path,  

            // the uploaded file overwrites it.

            FileUpload1.SaveAs(savePath);



            // Notify the user that the file was uploaded successfully.

            UploadStatusLabel.Text = "Your file was uploaded successfully.";



        }

        else

        {

            // Notify the user that a file was not uploaded.

            UploadStatusLabel.Text = "You did not specify a file to upload.";   

        }

    }

</script>



<html  >

<head runat="server">

    <title>FileUpload Class Example</title>

</head>

<body>

    <h3>FileUpload Class Example: Save To Application Directory</h3>

    <form id="form1" runat="server">

    <div>

       <h4>Select a file to upload:</h4>



       <asp:FileUpload id="FileUpload1"                 

           runat="server">

       </asp:FileUpload>



       <br/><br/>



       <asp:Button id="UploadButton"

           Text="Upload file"

           OnClick="UploadButton_Click"

           runat="server">

       </asp:Button>    



       <hr />



       <asp:Label id="UploadStatusLabel"

           runat="server">

       </asp:Label>           

    </div>

    </form>

</body>

</html>



      第三个示例演示如何创建 FileUpload 控件,该控件将文件保存到指定路径并限制可以上载的文件的大小。

<%@ Page Language="C#" %>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<script runat="server">



    protected void UploadButton_Click(object sender, EventArgs e)

    {

        // Specify the path on the server to

        // save the uploaded file to.

        string savePath = @"c:\temp\uploads\";



        // Before attempting to save the file, verify

        // that the FileUpload control contains a file.

        if (FileUpload1.HasFile)

        {                

            // Get the size in bytes of the file to upload.

            int fileSize = FileUpload1.PostedFile.ContentLength;



            // Allow only files less than 2,100,000 bytes (approximately 2 MB) to be uploaded.

            if (fileSize < 2100000)

            {



                // Append the name of the uploaded file to the path.

                savePath += Server.HtmlEncode(FileUpload1.FileName);



                // Call the SaveAs method to save the

                // uploaded file to the specified path.

                // This example does not perform all

                // the necessary error checking.               

                // If a file with the same name

                // already exists in the specified path,  

                // the uploaded file overwrites it.

                FileUpload1.SaveAs(savePath);



                // Notify the user that the file was uploaded successfully.

                UploadStatusLabel.Text = "Your file was uploaded successfully.";

            }

            else

            {

                // Notify the user why their file was not uploaded.

                UploadStatusLabel.Text = "Your file was not uploaded because " +

                                         "it exceeds the 2 MB size limit.";

            }

        }   

        else

        {

            // Notify the user that a file was not uploaded.

            UploadStatusLabel.Text = "You did not specify a file to upload.";

        }

    }

</script>



<html  >

<head runat="server">

    <title>FileUpload Class Example</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

       <h4>Select a file to upload:</h4>



       <asp:FileUpload id="FileUpload1"                 

           runat="server">

       </asp:FileUpload>



       <br/><br/>



       <asp:Button id="UploadButton"

           Text="Upload file"

           OnClick="UploadButton_Click"

           runat="server">

       </asp:Button>



       <hr />



       <asp:Label id="UploadStatusLabel"

           runat="server">

       </asp:Label>



    </div>

    </form>

</body>

</html>



第四个示例演示如何创建 FileUpload 控件,该控件将文件保存到指定路径并且只允许上载扩展名为 .doc 或 .xls 的文件。

<%@ Page Language="C#" %>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<script runat="server">



    protected void UploadBtn_Click(object sender, EventArgs e)

    {

        // Specify the path on the server to

        // save the uploaded file to.

        string savePath = @"c:\temp\uploads";



        // Before attempting to save the file, verify

        // that the FileUpload control contains a file.

        if (FileUpload1.HasFile)

        {

            // Get the name of the file to upload.

            string fileName = Server.HtmlEncode(FileUpload1.FileName);



            // Get the extension of the uploaded file.

            string extension = System.IO.Path.GetExtension(fileName);



            // Allow only files with .doc or .xls extensions

            // to be uploaded.

            if ((extension == ".doc") | (extension == ".xls"))

            {

                // Append the name of the file to upload to the path.

                savePath += fileName;



                // Call the SaveAs method to save the

                // uploaded file to the specified path.

                // This example does not perform all

                // the necessary error checking.               

                // If a file with the same name

                // already exists in the specified path,  

                // the uploaded file overwrites it.

                FileUpload1.SaveAs(savePath);



                // Notify the user that their file was successfully uploaded.

                UploadStatusLabel.Text = "Your file was uploaded successfully.";

            }

            else

            {

                // Notify the user why their file was not uploaded.

                UploadStatusLabel.Text = "Your file was not uploaded because " +

                                         "it does not have a .doc or .xls extension.";

            }



        }



    }



</script>



<html  >

<head runat="server">

    <title>FileUpload Class Example</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <h4>Select a file to upload:</h4>



        <asp:FileUpload id="FileUpload1"                 

            runat="server">

        </asp:FileUpload>



        <br/><br/>



        <asp:Button id="UploadBtn"

            Text="Upload file"

            OnClick="UploadBtn_Click"

            runat="server">

        </asp:Button>    



        <hr />



        <asp:Label id="UploadStatusLabel"

            runat="server">

        </asp:Label>     

    </div>

    </form>

</body>

</html>