M_ary  
本人热爱编程...更期待和谐的团队.. 有意者,请发送邮件与我.. wangkang198802@126.com

1)  没有经过美化,先把功能做简要介绍:

       点击增加,最多上传8张;然后点击上传,这样全部传到服务器中##

2)点击增加图片---前台的增加按钮的JS:

    <script type="text/javascript">

        var i = 1;

        function addFile() {

    if (i < 8) {

                var str = '<br><input type="file" name="file" runat="server" style="width:300px"/>描述:<input name="text" type="text" style="width:150px" maxlength="20"/>';

                document.getElementById("Myfile").insertAdjacentHTML("beforeEnd", str);  //insertAdjacentHTML("位置",要传入的字符串);

            } else {

            alert('您一次最多只能上传8张图片!');

        }

        i++;

        }

    </script>

3) 点击开始上传--后台CS代码

protected void btnUpload_Click(object sender, EventArgs e)

    {

        lbMessage.Text = "";

        lbMessage.Visible = false;  //前台页面的开始上传提示信息;

        HttpFileCollection files=System.Web.HttpContext.Current.Request.Files;  //**得到前台页面的所有File文件;

        StringBuilder sb = new StringBuilder("");  //用来记录该图片的大小;格式;是否正确;

        string[] rd=Request.Form[1].Split(',');

        string albumid=ddlAlbum.SelectedValue.Trim();

        for (int i = 0; i < files.Count; i++)

        {

            if (files[i].FileName.Length > 0)

            {

                HttpPostedFile postedfile = files[i];  //对上传的第i个文件进行处理;

                if (postedfile.ContentLength / 1024 > 1024)  //ContentLength是以字节为单位,单个文件不能大于1024K

                {

                    sb.Append(Path.GetFileName(postedfile.FileName) + "--不能大于1024k<br>");

                    break;

                }

                string fex = Path.GetExtension(postedfile.FileName);

                if (fex != ".jpg" && fex != ".JPG" && fex != ".gif" && fex != ".GIF")

                {

                    sb.Append(Path.GetFileName(postedfile.FileName) + "--图片格式不对,只能是jpg或者gif<br>");

                    break;

                }

                if (sb.Length <= 0)

                {

                    string dirname = "pic00" + ddlAlbum.SelectedValue.Trim();  

                    string dirpath = Server.MapPath("pic");

                    dirpath = dirpath + @"\" + dirname;  //完整路径=目录+"pic00"+图片集;

                    if (Directory.Exists(dirpath) == false)

                    {

                        Directory.CreateDirectory(dirpath);  //创建路径

                    }

                    Random ran = new Random();

                    int name = 1;

                    for (int j = 0; j < files.Count; j++)  //**分水岭,上面只是对路径的处理,下面的则是文件名的处理;

                    {

                        HttpPostedFile file = files[i];

                        string fileName = "";

                        string fileExtention = "";

                        string picPath = "";

                        fileName = Path.GetFileName(file.FileName);

                        string stro = ran.Next(100, 1000000).ToString() + name.ToString(); 

                        string newName = DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + stro;//命名新的图片

                        if (fileName.Length > 0)  //有文件才执行长传操作,然后保存到DB中

                        {

                            fileExtention = Path.GetExtension(file.FileName);

                            string ppath = dirpath + @"\" + newName + fileExtention;  //图片地址=完整路径+新定义的文件名+后缀名

                            file.SaveAs(ppath);  //图片地址;

                            string fjname = fileName;

                            picPath = "PicBase" + @"\" + dirname + "\\" + newName + fileExtention;

                        }

                       // AddPicture(picPath, rd[i], albumid); //将图片信息保存到DB中;

                        if (name == 1)

                        {

                           // upFIrstImg( albumid,picPath);

                        }

                        name = name + 1;

                    }

                }

            }

            else

            {

                lbMessage.Text = sb.ToString();

                lbMessage.Visible = true;

            }

            

        }

    }

posted on 2011-10-20 17:54  M_ary  阅读(779)  评论(1)    收藏  举报