예제 #1
0
        public JsonResult PostedFile()
        {
            var file = HttpContext.Request.Files[0];

            if (file == null)
            {
                return(new JsonResult()
                {
                    Data = "{\"code\":503,\"msg\":\"没有选择文件\"}"
                });
            }
            string fileName           = Path.GetFileName(file.FileName);
            string fileExt            = Path.GetExtension(file.FileName);
            string fileNameWithoutExt = Path.GetFileNameWithoutExtension(file.FileName);
            string userName           = Session["user"].ToString();
            string fileRelativePath   = Request.Form["path"];

            try
            {
                string fileSaveDir = Server.MapPath("~\\upload\\" + Session["user"] + "\\" + fileRelativePath);
                if (!Directory.Exists(fileSaveDir))
                {
                    Directory.CreateDirectory(fileSaveDir);
                }
                string fileSavePath = fileSaveDir + "\\" + fileName;
                if (!System.IO.File.Exists(fileSavePath))
                {
                    file.SaveAs(fileSavePath);
                }

                var savefile = new xiayun.Model.File
                {
                    FileName = fileName,
                    FileExt  = fileExt,
                    FilePath = fileRelativePath,
                    Belong   = Session["user"].ToString(),
                    UpTime   = DateTime.Now.ToString(),
                };

                fileinfo.Add(savefile);
                fileinfo.SaveChanges();
                return(new JsonResult()
                {
                    Data = "{\"code\":200,\"msg\":\"上传成功\"}"
                });
            }
            catch (Exception e)
            {
                return(new JsonResult()
                {
                    Data = "{\"code\":500,\"msg\":\"上传失败\"}"
                });
            }
        }
예제 #2
0
        public ActionResult Index(int?page, int?id, string filename, string nowdo, string path, string search, string attr)
        {
            int pag = page ?? 1;

            ViewData["page"] = pag;
            ViewData["attr"] = attr;
            IPagedList <xiayun.Model.File> files;

            if (path == null)
            {
                path             = "Home";
                ViewData["path"] = "Home";
            }
            else
            {
                ViewData["path"] = path;
            }


            if (id != null)
            {
                xiayun.Model.File file  = fileinfo.Find(x => x.Id == id);
                string            npath = file.FilePath + '/' + file.FileName;

                IEnumerable <xiayun.Model.File> filess = fileinfo.FindAll(x => x.FilePath.StartsWith(npath));
                if (nowdo == "delete")
                {
                    foreach (var item in filess)
                    {
                        fileinfo.Delete(item);
                    }
                    fileinfo.Delete(file);
                }

                else if (nowdo == "update")
                {
                    foreach (var item in filess)
                    {
                        //item.FilePath.Replace("we", "nihao");
                        item.FilePath = item.FilePath.Replace(file.FileName, filename);
                        item.UpTime   = DateTime.Now.ToString();
                        fileinfo.Update(item);

                        /*
                         * item.FilePath.Replace("we", "he");
                         * item.UpTime = DateTime.Now.ToString();
                         * fileinfo.Update(item);
                         */
                    }

                    file.FileName = filename;
                    file.UpTime   = DateTime.Now.ToString();
                    fileinfo.Update(file);
                }
                fileinfo.SaveChanges();
            }
            if (nowdo == "add")
            {
                string foldername = "新建文件夹";
                int    i          = 0;
                while (true)
                {
                    bool p = fileinfo.Exist(x => x.FileName == foldername + i);
                    if (p == false)
                    {
                        break;
                    }
                    i++;
                }
                fileinfo.Add(new xiayun.Model.File
                {
                    FileName = foldername + i,
                    Belong   = Session["user"].ToString(),
                    FileExt  = "folder",
                    UpTime   = DateTime.Now.ToString(),
                    FilePath = path,
                });
                fileinfo.SaveChanges();
            }
            if (search != null)
            {
                files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString() & x.FileName.Contains(search), x => x.UpTime, pag, 10, false);
                ViewData["search"] = search;
                return(View(files));
            }
            if (attr != null)
            {
                string images = ".bmp,.jpg,.png,.tiff,.gif,.pcx,.tga,.exif,.fpx,.svg,.psd,.cdr,.pcd,.dxf,.ufo,.eps,.ai,.raw,.WMF";
                string musics = ",.mp3,.wma,.wav,.asf,.aac,.vqf,.falc,.ape,.mid,.ogg";
                string videos = ".rm,.rmvb,.mp4,.mov,.mtv,.dat,.wmv,.avi,.3gp,.amv,.dmv";
                switch (attr)
                {
                case "img": files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString() & images.Contains(x.FileExt.ToLower()), x => x.UpTime, pag, 10, false); break;

                case "music": files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString() & musics.Contains(x.FileExt.ToLower()), x => x.UpTime, pag, 10, false); break;

                case "video": files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString() & videos.Contains(x.FileExt.ToLower()), x => x.UpTime, pag, 10, false); break;

                default: files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString(), x => x.UpTime, pag, 10, false); break;
                }
                return(View(files));
            }
            files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString() & x.FilePath == path, x => x.UpTime, pag, 10, false);
            return(View(files));
        }
예제 #3
0
        public ActionResult Index(int?page, int?id, string filename, string nowdo, string path, string search)
        {
            int pag = page ?? 1;

            ViewData["page"] = pag;
            IPagedList <xiayun.Model.File> files;

            if (path == null)
            {
                path             = "Home";
                ViewData["path"] = "Home";
            }
            else
            {
                ViewData["path"] = path;
            }


            if (id != null)
            {
                xiayun.Model.File file  = fileinfo.Find(x => x.Id == id);
                string            npath = file.FilePath + '/' + file.FileName;

                IEnumerable <xiayun.Model.File> filess = fileinfo.FindAll(x => x.FilePath.StartsWith(npath));
                if (nowdo == "delete")
                {
                    foreach (var item in filess)
                    {
                        fileinfo.Delete(item);
                    }
                    fileinfo.Delete(file);
                }

                else if (nowdo == "update")
                {
                    foreach (var item in filess)
                    {
                        //item.FilePath.Replace("we", "nihao");
                        item.FilePath = item.FilePath.Replace(file.FileName, filename);
                        item.UpTime   = DateTime.Now.ToString();
                        fileinfo.Update(item);

                        /*
                         * item.FilePath.Replace("we", "he");
                         * item.UpTime = DateTime.Now.ToString();
                         * fileinfo.Update(item);
                         */
                    }

                    file.FileName = filename;
                    file.UpTime   = DateTime.Now.ToString();
                    fileinfo.Update(file);
                }
                fileinfo.SaveChanges();
            }
            if (nowdo == "add")
            {
                string foldername = "新建文件夹";
                int    i          = 0;
                while (true)
                {
                    bool p = fileinfo.Exist(x => x.FileName == foldername + i);
                    if (p == false)
                    {
                        break;
                    }
                    i++;
                }
                fileinfo.Add(new xiayun.Model.File
                {
                    FileName = foldername + i,
                    Belong   = Session["user"].ToString(),
                    FileExt  = "folder",
                    UpTime   = DateTime.Now.ToString(),
                    FilePath = path,
                });
                fileinfo.SaveChanges();
            }
            if (search != null)
            {
                files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString() & x.FileName.Contains(search), x => x.UpTime, pag, 10, false);
                ViewData["search"] = search;
                return(View(files));
            }
            files = fileinfo.GetPaged(x => x.Belong == Session["user"].ToString() & x.FilePath == path, x => x.UpTime, pag, 10, false);
            return(View(files));
        }