ASP.NET非服务器控件上传与服务器控件上传文件功能

  第一种(务器控件):

(我相信班里很多都是这样来实现的,这样也比较简单)

1.Default.aspx代码如下:


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>未命名頁面</title>
</head>
<body>
    <form id="form1" action="Default2.aspx" enctype="multipart/form-data" method="post">
    <div>
    <input name="oneFile"  type="file"/>
    <input name="btton" type="submit" value="上传" />
    </div>
    </form>
</body>
</html>

2.Default.aspx.cs代码如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {

            HttpFileCollection files = HttpContext.Current.Request.Files;
            HttpPostedFile file = files["oneFile"];
            string FileName = System.IO.Path.GetFileName(file.FileName);
            string serverpath = "F:/健康体检管理系统/WebSite1/Image/" + DateTime.Now.ToString("yyMMddhhmmss") + FileName;
            string strExping = FileName.Substring(FileName.LastIndexOf("."));
            if (strExping.Equals(".jpg"))
            {

                file.SaveAs(serverpath);
                Response.Write("成功");
            }
            else
            {
                Response.Write("失败");
            }
        }
    }
}

 

第二种(非服务器控件):

1.Default.aspx代码如下:


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>未命名頁面</title>
</head>
<body>
    <form id="form1" action="Default2.aspx" enctype="multipart/form-data" method="post">
    <div>
    <input name="oneFile"  type="file"/>
    <input name="btton" type="submit" value="上传" />
    </div>
    </form>
</body>
</html>

2.Default.aspx.cs代码如下:

     public void FileUpload()
    {
        HttpFileCollection files = HttpContext.Current.Request.Files;
        HttpPostedFile postedFile = files["oneFile"];

        if (postedFile.ContentLength > 3072000)
            Response.Write("文件大小不能大于300K!");
        string fileName, fileExtension;
        fileName = System.IO.Path.GetFileName(postedFile.FileName);
        string SaveFilePath = "";
        if (fileName != "")
        {
            //SaveFilePath = "/UploadFile/" + System.DateTime.Now.ToString("yyyymmddhhmmss") + ".rar";
            SaveFilePath = System.DateTime.Now.ToString("yyyymmddhhmmss") + ".rar";
            fileExtension = System.IO.Path.GetExtension(fileName).ToLower();
            if (fileExtension != ".rar")
                Response.Write("文件格式不正确,你只能上传WinRar压缩包格式文件!");
            postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("UploadFile/") + SaveFilePath);
            //postedFile.SaveAs(Server.MapPath(SaveFilePath));
        }
    }

第三种(服务器控件):

(Default.aspx代码如下:跟第一种第二种的都差不多,就不写了)

1.Default.aspx.cs代码如下:

   protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs (Server.MapPath ( "~/Upload/" +FileUpload1.FileName));
            Label1.Text="恭喜你,上传成功!";
        }
        else
        {
            Label1.Text = "上传失败,或没指定正确的文件!";
        }
    }

第四种(服务器控件控制上传文件大小,类型 ):

1、Default.aspx代码如下:


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" runat="server" Width="325px" />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" Width="44px" /><br />
        上传文件名:<asp:Label ID="Label2" runat="server"></asp:Label><br />
        上传文件大小:<asp:Label ID="Label3" runat="server"></asp:Label><br />
        上传文件路径及名:<asp:Label ID="Label4" runat="server"></asp:Label><br />      
        <asp:Label ID="Label1" runat="server" ForeColor="Red"></asp:Label><br />  
    </div>
    </form>
</body>
</html>


2、Default.aspx.cs代码如下:


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {

            Label2.Text = FileUpload1.FileName;
            Label3.Text = FileUpload1.PostedFile.ContentLength.ToString() + "字节";
            Label4.Text = FileUpload1.PostedFile.FileName;
            //获得扩展名
            string extension = System.IO.Path.GetExtension(FileUpload1.FileName);
            if (extension == ".rar" || extension == ".doc" || extension == ".xls")
            {

                if (FileUpload1.PostedFile.ContentLength < 10000000)//文件小于10M
                {
                    FileUpload1.SaveAs(Server.MapPath("~/upLoad/" + FileUpload1.FileName));
                    Label1.Text = "恭喜你,上传成功!";
                }
                else
                {
                    Label1.Text = "上传失败,不是管理员,上传文件不能大于10M!";
                }
            }
            else
                Label1.Text = "上传失败,只能上传扩展名是rar、doc、xls的文件!";
        }
        else
        {
            Label1.Text = "上传失败,或没指定正确的文件!";
        }
    }
}

 

 

 

 

 

 

 

 

                                                                                                                                                                                                                          ——火星妹

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值