一聚教程网:一个值得你收藏的教程网站

热门教程

asp.net通过单表实现多文件上传代码

时间:2022-06-25 08:25:26 编辑:袖梨 来源:一聚教程网

 代码如下 复制代码


#region    上传文件到数据库和服务器
        public void FN_UpFiles()
        {

            //遍历File表单元素
            HttpFileCollection files = HttpContext.Current.Request.Files;
            try
            {
                for (int iFile = 0; iFile < files.Count; iFile++)
                {
                    //检查文件扩展名字
                    HttpPostedFile postedFile = files[iFile];
                    string fileName = "";//定义文件名
                    //string fileExtension = "";
                    fileName = Path.GetFileName(postedFile.FileName);//得到上传文件的完整名称 即文件名+后缀名
                    int index = fileName.IndexOf(".");
                    string FileType = fileName.Substring(index).ToLower();//截取文件后缀名
                    //FileTypeImg = "../FileTypeimg/" + hz + ".gif";
                    Guid fileGuid = Guid.NewGuid();//生成新的文件名称 以GUID命名防止文件名相同
                    string NewFileName = fileGuid.ToString();//新的文件名
                    NewFileName = NewFileName + FileType;//新的文件名+后缀名
                    if (postedFile.ContentLength > 2097151 * 1024)//判断是否大于配置文件中的上传文件大小
                    {
                        Page.RegisterStartupScript("提示", "");
                        return;
                    }
                    else
                    {
                        if (fileName != "")//如果文件名不为空
                        {
                            try
                            {
                                //文件虚拟路径
                                string strpath = System.Web.HttpContext.Current.Server.MapPath("~/Upload/") + NewFileName;
                                try
                                {
                                    NRModel.File model = new NRModel.File();
                                    NRBLL.File bf = new NRBLL.File();
                                    Guid guid1 = Guid.NewGuid();
                                    Guid guid2 = new Guid(FolderId);
                                    Guid guid3 = Guid.NewGuid();
                                    Guid guid4 = Guid.NewGuid();
                                    model.Fileid = guid1;
                                    model.Folderid = guid2;
                                    model.Filepath = strpath;
                                    model.FileNam = fileName;
                                    model.FileSize = postedFile.ContentLength;
                                    model.Decription = TextArea1.Value.ToString();
                                    model.CreateOn = DateTime.Now;
                                    model.CreateBy = guid3;
                                    model.ModefyBy = guid4;
                                    if (bf.FN_AddNewRes(model) > 0)
                                    {
                                        NR.Error.Log.LogType("上传资源" + fileName + "成功!" + "服务器路径:" + strpath);
                                        //保存文件到指定目录(虚拟目录)
                                        postedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath("~/Upload/") + NewFileName);
                                        //Page.RegisterStartupScript("提示", "");
                                        AlertMsg("上传成功!");
                                    }
                                }
                                catch (Exception ex)
                                {
                                    NR.Error.Log.LogType(ex.ToString());
                                }

                            }
                            catch (Exception ex)
                            {
                                NR.Error.Log.LogType(ex.ToString());
                            }
                        }
                        else
                        {
                            Response.Write("上传文件不能为空!");
                            NR.Error.Log.LogType("文件不能为空!");
                        }
                    }

                }
            }
            catch (System.Exception ex)
            {
                NR.Error.Log.LogType(ex.ToString());
            }
        }
        #endregion

热门栏目