asp:FileUpload 上传文件

来源:互联网 发布:网络物流信息平台 编辑:程序博客网 时间:2024/06/05 07:56

一、aspx

    <form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="BtnUPTxt" runat="server" Text="上 传" Width="54px"
        onclick="BtnUPTxt_Click" />
<asp:Label ID="Label1" runat="server" Height="16px" Style="z-index: 100; left: 15px;
position: absolute; top: 156px" Width="89px"></asp:Label>
<asp:Image ID="Image1" runat="server" ImageUrl="" Style="z-index: 102;
left: 20px; position: absolute; top: 49px" Width="73px" />

</div>
    </form>



二、aspx.cs

using System.IO;

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

    }
    protected void BtnUPTxt_Click(object sender, EventArgs e)
    {
        string newfilename = string.Empty;//新文件名
        bool fileIsValid = false;
        //如果确认了文件上传,则判断文件类型是否符合要求
        if (this.FileUpload1.HasFile)
        {
        //获取上传文件的后缀名
        String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();//ToLower是将Unicode字符的值转换成它的小写等效项
        //定义一个数组,把文件后缀名的的类型总结出来
        String[] restrictExtension ={ ".jpg",".gif",".bmp",".png"};
        //判断文件类型是否符合要求
            for (int i = 0; i < restrictExtension.Length; i++)
            {
                if (fileExtension == restrictExtension[i])
                {
                    fileIsValid = true;
                }
            }
        }
        //如果文件类型符合要求,则用SaveAs方法实现上传,并显示信息
        if (fileIsValid == true)
        {
            try
            {
                newfilename = GetNewFileName(this.FileUpload1.FileName);
                if (File.Exists(Server.MapPath("UploadFile/") + newfilename) != true)
                {
                    this.FileUpload1.SaveAs(Server.MapPath("UploadFile/") + newfilename);
                    this.Label1.Text = "文件上传成功";
                    this.Label1.Text += "<br/>";
                    this.Label1.Text += "文件名:UploadFile/" + newfilename;
                    this.Label1.Text += "<br/>";
                    //this.Image1.ImageUrl = "UploadFile/" + FileUpload1.FileName;
                    this.Label1.Text += "<li>" + "文件大小:" + this.FileUpload1.PostedFile.ContentLength + "字节";
                    this.Label1.Text += "<br/>";
                    this.Label1.Text += "<li>" + "文件类型:" + this.FileUpload1.PostedFile.ContentType;
                    //删除上传的文件:File.Delete(Server.MapPath(Request.ApplicationPath) + @"file://upload/200583016538151246.gif");
                }
            }
            catch
            {
                this.Label1.Text = "文件上传不成功";
            }
            finally
            {

            }
        }
        else
        {
            this.Label1.Text = "文件的后缀名只能为.jpg、.gif、.bmp、.png";
        }
    }

    protected string GetNewFileName(string FileName)
    {
        //跟据文件名产生一个由时间+随机数组成的一个新的文件名
        string newfilename = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString()
        + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString()
        + DateTime.Now.Second.ToString() + DateTime.Now.Minute.ToString()
        + DateTime.Now.Millisecond.ToString()
            //+ rand.Next(1000).ToString()
        + FileName.Substring(FileName.LastIndexOf("."), FileName.Length - FileName.LastIndexOf("."));
        return newfilename;
    }
}


博主推荐文章:

上传图片,裁剪图片 CropImage+NET

.net生成缩略图(不变形),上传大图,切割后生成小图


原创粉丝点击