欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c# Asp.Net上传图片

程序员文章站 2023-12-28 11:57:28
...

c# Asp.Net上传图片

aspx页面

<asp:Image ID="imgBindShow"  runat="server" />
            
            <asp:FileUpload ID="uploadImage" runat="server"  accept=".jpg,.png,.jpeg"/>
            <asp:Button ID="btnUploding" runat="server" Text="上传图片" OnClick="btnUploding_Click" />
            <br />
            

后台cs文件
引入命名空间

using System.IO;


protected void btnUploding_Click(object sender, EventArgs e)
        {
            /*
             设置路径,绝对路径和相对路径的拼接
             文件夹的创建和是否存在的判断
             文件大小的判断
             判断上传后的文件夹里是否含有指定的图片
             */
            
            //获取网站部署的目录,绝对路径
            string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
            //相对路径下的位置
            string filePath = @"2.0 文件上传\2.1 图片上传\ProductImage\";
            //为防止文件名重名,同一时间多人传同一文件,服务器出错
            string dateTimeNow = DateTime.Now.ToString("yyyymmddhhmmssms");
            //图片上传的文件夹
            string folderPath = tmpRootDir + filePath + dateTimeNow;
            //判断是否存在该文件夹 如果不存在
            if (Directory.Exists(folderPath)==false)
            {
                //创建文件夹
                Directory.CreateDirectory(folderPath);
            }
            //再次判断是否存在
            if (Directory.Exists(folderPath))
            {
                //存在/成功创建 文件夹
                folderPath = folderPath + @"\";
            }
            //获取图片名称
            string fileName = uploadImage.FileName;
            if (fileName=="")
            {
                ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('请选择图片!!!')</script>");
                return;
            }
            //最后拼接出整体路径
            string pathLast = folderPath + fileName;
            //限制上传文件的大小,系统默认4M
            //1Mb=1024kb=(1024*1024)b
            if (uploadImage.PostedFile.ContentLength>((1024*1024)*10))
            {
                ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('文件大小超过10MB!!!')</script>");
                //结束执行
                return;
            }
            //保存到指定路径
            uploadImage.SaveAs(pathLast);
            //枚举指定路径里面,指定文件的数量,类型为long
            long ImgNum = Directory.GetFiles(folderPath, fileName, SearchOption.AllDirectories).LongLength;
            if (ImgNum >= 0)
            {
                ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('上传成功!!!')</script>");
            }
            else
            {
                ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('上传失败!!!')</script>");
                return;//不存在
            }
        
            //####  注意:在C#端限制所传文件大小不好用。
            //####  原因:如果文件超过了系统最大长度,C#端是限制不住的,会直接将程序崩溃。
            //####  也可以在Web.confight里面设置所传文件的大小
            //
            
            #region 这里是是Js限制上传文件大小
            //   < script >
            //    document.getElementById("Button1").onclick = function()
            //    {
            //                var file = document.getElementById("FileUpload1");
            //                if (file.value.length <= 0)//如果选中选中文件没有文件没有长度,就是没有选中文件
            //                {
            //                    alert("请选择所传文件");
            //                    return false;//停止操作
            //                }
            //                else
            //                {
            //                    if (file.files[0].size > ((1024 * 1024) * 10))//<strong>选中文件的第一个文件的大小</strong>大于等于10M
            //                    {
            //                        alert("文件大小怒鞥超过10Mb");
            //                        return false;//停止操作
            //                    }
            //                }
            //            }
            //   </script > 
            #endregion
        }

上一篇:

下一篇: