一个文件上传的例子[转]

UI
LEADBBS CODE

<%@ 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 runat="server">
    <title>FileUpload</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button  ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /><br />
        <asp:Image ID="imgFile" runat="server" ImageUrl="" Visible="false" /><br />
        <asp:Label  ID="lblMessage" runat="server"></asp:Label>
        
        
    </div>
    </form>
</body>
</html>





CS

LEADBBS CODE

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;
using System.IO;
public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (this.FileUpload1.HasFile) ///有文件执行操作
        {
            #region 检测文件路径,大小
            string strErr="";//错误信息
            int w=0;
            int h=0;
            if (this.FileUpload1.PostedFile == null)
            {
                strErr += "对不起,上传文件不能为空!//n";
            }

            int filesize = this.FileUpload1.PostedFile.ContentLength;
            if (filesize < 1)
            {
                strErr += "对不起,上传文件不能为空!//n";
            }
            if (filesize > 10485760)
            {
                strErr += "对不起,文件大小不能大于10M!//n";
            }

            strErr = strErr.Trim();
            if (strErr != "")
            {
                this.lblMessage.Text = strErr;
                return ;
            }
            #endregion

            #region 获得文件信息
            string filename;
            string filetype;
            string savename;

            filetype = this.FileUpload1.PostedFile.ContentType.ToString();
            filename = this.FileUpload1.FileName;
            savename = System.DateTime.Now.ToString("yyyyMMddHHmmss") + filename;
            #endregion

            #region 检测类型
            strErr = "";
            switch (filetype)
            {
                case "image/gif":
                case "image/bmp":
                case "image/pjpeg":
                    {
                        System.IO.Stream s = this.FileUpload1.PostedFile.InputStream;
                        System.Drawing.Image i = System.Drawing.Image.FromStream(s);
                         w = i.Width;
                         h = i.Height;


                        #region 判断尺寸
                        //                                    if(this.lblWidth.Text!="")
                        //                                    {
                        //                                          if(w>int.Parse(this.lblWidth.Text))
                        //                                          {
                        //                                                strErr+="对不起,该文件格式超过规定宽度!//n";                                                
                        //                                          }
                        //                                    }
                        //                                    if(this.lblHigh.Text!="")
                        //                                    {
                        //                                          if(h>int.Parse(this.lblHigh.Text))
                        //                                          {
                        //                                                strErr+="对不起,该文件格式超过规定高度!//n";                                                      
                        //                                          }
                        //                                    }            
                        #endregion
                    }
                    break;
                //case "application/x-shockwave-flash":
                //case "application/octet-stream":
                //    break;
                //case "video/x-ms-wmv":
                //case "video/mpeg":
                //case "video/x-ms-asf":
                //case "video/avi":
                //case "audio/mpeg":
                //case "audio/mid":
                //case "audio/wav":
                //case "audio/x-ms-wma":
                //    break;
                //case "application/vnd.rn-realmedia-vbr":
                //    break;
                default:
                    strErr += "对不起,不允许该文件格式上传!//n";
                    break;
            }
            if (strErr != "")
            {
                this.lblMessage.Text = strErr;
                return;
            }
            #endregion

            string strInfo="";
           
            strInfo += "文件名:" + filename + "<br>";
            strInfo += "文件大小:" + filesize + "<br>";
            strInfo += "文件类型:" + filetype + "<br>";
            strInfo += "文件高度:" + h + "<br>";
            strInfo += "文件宽度:" + w + "<br>";

            string savepath = "UpPic" + "//" + savename;
            string fullpath = Server.MapPath("UpPic") + "//" + savename;
            this.FileUpload1.SaveAs(fullpath);
           
            this.lblMessage.Text = strInfo;
            this.imgFile.ImageUrl = savepath;
            this.imgFile.Visible = true;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值