/// <summary>
        /// 下载
        /// </summary>
        /// <returns></returns>
        public ActionResult Download()
        {
            string fileID = Request.QueryString["id"];//取得文件id

            Model.Store_data data = Home.GetFile(Convert.ToInt32(fileID));
            return(File(new FileStream(data.DataRoute, FileMode.Open), "text/plain",
                        data.Real_FileName));
        }
Beispiel #2
0
 /// <summary>
 /// 上传文件
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public int Insert(Model.Store_data data)
 {
     using (var db = new Model.ZKJSkyDriveEntities())
     {
         db.Entry <Model.Store_data>(data).State = System.Data.Entity.EntityState.Added;
         return(db.SaveChanges());
     }
 }
Beispiel #3
0
 /// <summary>
 /// 彻底删除
 /// </summary>
 /// <param name="FileID"></param>
 /// <returns></returns>
 public int DeleteFile(int FileID)
 {
     using (var db = new Model.ZKJSkyDriveEntities()) {
         Model.Store_data store = db.Set <Model.Store_data>().Find(FileID);
         db.Entry <Model.Store_data>(store).State = System.Data.Entity.EntityState.Deleted;
         return(db.SaveChanges());
     }
 }
Beispiel #4
0
 /// <summary>
 /// 还原文件
 /// </summary>
 /// <param name="FileID"></param>
 /// <returns></returns>
 public int UpdateFile2(int FileID)
 {
     using (var db = new Model.ZKJSkyDriveEntities())
     {
         Model.Store_data store = db.Set <Model.Store_data>().Find(FileID);
         store.DeleteState   = 0;
         store.EstablishTime = DateTime.Now;
         db.Entry <Model.Store_data>(store).State = System.Data.Entity.EntityState.Modified;
         return(db.SaveChanges());
     }
 }
        public ActionResult Classification()
        {
            ViewBag.User = Request.Cookies["MyCook"]["UserName"];
            int    uid     = Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]);
            string Keyword = Request.QueryString["Keyword"];

            if ("文档".Equals(Keyword))
            {
                ViewBag.Leibie = "文档";
                List <Model.Store_data> list1 = Home.GetStore_dataBySuffixName(uid, ".txt");
                List <Model.Store_data> list2 = Home.GetStore_dataBySuffixName(uid, ".docx");
                foreach (var item in list2)
                {
                    Model.Store_data data = new Model.Store_data
                    {
                        Store_data_ID = item.Store_data_ID,
                        User_ID       = item.User_ID,
                        DataRoute     = item.DataRoute,
                        Real_FileName = item.Real_FileName,
                        File_Size     = item.File_Size,
                        Folder_ID     = item.Folder_ID,
                        EstablishTime = item.EstablishTime,
                        DeleteState   = item.DeleteState,
                        SuffixName    = item.SuffixName,
                        icon          = item.icon
                    };
                    list1.Add(data);
                }
                return(View(list1));
            }
            else if ("图片".Equals(Keyword))
            {
                ViewBag.Leibie = "图片";
                return(View(Home.GetStore_dataBySuffixName(uid, ".png")));
            }
            else if ("视频".Equals(Keyword))
            {
                ViewBag.Leibie = "视频";
                return(View(Home.GetStore_dataBySuffixName(uid, ".mp4")));
            }
            else if ("音乐".Equals(Keyword))
            {
                ViewBag.Leibie = "音乐";
                return(View(Home.GetStore_dataBySuffixName(uid, ".mp3")));
            }
            else if ("其他".Equals(Keyword))
            {
                ViewBag.Leibie = "其他";
                return(View(Home.GetStore_dataBySuffixName(uid)));
            }
            return(View());
        }
        /// <summary>
        /// 彻底删除
        /// </summary>
        /// <param name="FileID"></param>
        /// <returns></returns>
        public ActionResult DeleteFile(string[] FileID)
        {
            int jg = 0;

            for (int i = 0; i < FileID.Length; i++)
            {
                Model.Store_data sta = Home.GetFile(Convert.ToInt32(FileID[i]));
                if (sta != null)
                {
                    jg = Home.DeleteFile(Convert.ToInt32(FileID[i]));
                    System.IO.File.Delete(sta.DataRoute);
                }
            }

            return(Json(jg.ToString(), JsonRequestBehavior.AllowGet));
        }
        public ActionResult Index(FormCollection form)
        {
            List <string> paths = new List <string>();

            if (Request.Files.Count == 0)
            {
                //Directory.CreateDirectory("");
                //Request.Files.Count 文件数为0上传不成功
                return(View());
            }

            //文件大小不为0
            HttpFileCollectionBase files = Request.Files;
            //取得目标文件夹的路径
            string target = Server.MapPath("~/Upload/" + Request.Cookies["MyCook"]["UserID"] + "/");
            int    cg     = 0;
            int    sb     = -1;
            int    x      = 0;

            for (int i = 0; i < files.Count; i++)
            {
                if (files[i].ContentLength == 0)
                {
                    //文件大小(以字节为单位)为0时,做一些操作
                    //失败文件数,失败+1
                    sb = sb + 1;
                    //return Content("<script>alert('文件大小为0,上传失败')</script>");
                }
                else
                {
                    string filename = files[i].FileName;//取得文件名字
                    //判断上传文件是否包含文件夹,含/就是包含文件夹路径的
                    if (filename.Contains("/"))
                    {
                        //根据/分割,以便将文件名与文件夹路径分开
                        string[] b2 = filename.Split('/');
                        //获得文件名
                        string wenjian = b2[b2.Length - 1];
                        //将数组转为泛型集合操作
                        List <string> newb2 = new List <string>(b2);
                        //排除集合最后一个元素,也就是文件名,得到文件夹路径
                        newb2.Remove(newb2.Last <string>());
                        //定义一个文件夹路径变量
                        string lujin = null;
                        //遍历去除文件名的文件路径集合

                        foreach (var item in newb2)
                        {
                            //拼接文件路径
                            lujin += item + "\\";
                            if (x > 0)
                            {
                                Model.Folder folder = new Model.Folder
                                {
                                    FounderID      = Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]),
                                    Folder_Name    = item,
                                    FatherFolderID = Home.GetNewFolderId(Convert.ToInt32(Request.Cookies["MyCook"]["UserID"])),
                                    DeleteState    = 0,
                                    EstablishTime  = DateTime.Now
                                };
                                if (Home.GetFolderByName(item, Convert.ToInt32(Request.Cookies["MyCook"]["UserID"])) == null)
                                {
                                    Home.InsertFolder(folder);
                                    x = x + 1;
                                }
                            }
                            else
                            {
                                Model.Folder folder = new Model.Folder
                                {
                                    FounderID      = Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]),
                                    Folder_Name    = item,
                                    FatherFolderID = 0,
                                    DeleteState    = 0,
                                    EstablishTime  = DateTime.Now
                                };
                                if (Home.GetFolderByName(item, Convert.ToInt32(Request.Cookies["MyCook"]["UserID"])) == null)
                                {
                                    Home.InsertFolder(folder);
                                    x = x + 1;
                                }
                            }
                            //E:\C#作业\Baidu-pan\Baidu.Web\Upload\文件夹上传测试文档\测试2\5c70e0a0-90a0-4d95-b7c9-c95284f41ee2.txt
                        }


                        //创建文件夹路径
                        Directory.CreateDirectory(target + lujin);

                        string newfilename = filename;

                        //使用GUID 全球唯一标识符给文件重名称:GUID + 后缀名
                        newfilename = Guid.NewGuid() + filename.Substring(filename.LastIndexOf("."));

                        //获取存储的目标地址,也就是文件夹位置
                        string path = target + lujin + newfilename;
                        //保存文件
                        files[i].SaveAs(path);
                        //成功上传文件数,成功+1
                        cg = cg + 1;
                        paths.Add(path);


                        //将文件信息保存到数据库

                        //覆盖重复文件
                        Model.Store_data oldStore_data = Home.GetFile(wenjian, Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]));
                        if (oldStore_data != null)
                        {
                            System.IO.File.Delete(oldStore_data.DataRoute);
                            Home.DeleteOldFile(oldStore_data.Store_data_ID);
                        }

                        string[]         icon  = wenjian.Split('.');
                        string           icons = Server.MapPath("~/Icon/" + icon[icon.Length - 1].ToUpper() + ".png");
                        Model.Store_data data  = null;
                        if (System.IO.File.Exists(icons))
                        {
                            data = new Model.Store_data
                            {
                                User_ID       = Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]),
                                DataRoute     = path,
                                Real_FileName = wenjian,
                                File_Size     = Home.GetFileSize(files[i].ContentLength),
                                Folder_ID     = Home.GetNewFolderId(Convert.ToInt32(Request.Cookies["MyCook"]["UserID"])),
                                EstablishTime = DateTime.Now,
                                DeleteState   = 0,
                                SuffixName    = filename.Substring(filename.LastIndexOf(".")),
                                icon          = "/Icon/" + icon[icon.Length - 1].ToUpper() + ".png"
                            };
                        }
                        else
                        {
                            data = new Model.Store_data
                            {
                                User_ID       = Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]),
                                DataRoute     = path,
                                Real_FileName = wenjian,
                                File_Size     = Home.GetFileSize(files[i].ContentLength),
                                Folder_ID     = Home.GetNewFolderId(Convert.ToInt32(Request.Cookies["MyCook"]["UserID"])),
                                EstablishTime = DateTime.Now,
                                DeleteState   = 0,
                                SuffixName    = filename.Substring(filename.LastIndexOf(".")),
                                icon          = "/Icon/weizhi.png"
                            };
                        }
                        Home.Insert(data);
                    }
                    else
                    {
                        string newfilename = filename;

                        //使用GUID 全球唯一标识符给文件重名称:GUID + 后缀名
                        newfilename = Guid.NewGuid() + filename.Substring(filename.LastIndexOf("."));

                        //获取存储的目标地址,也就是文件夹位置
                        string path = target + newfilename;
                        files[i].SaveAs(path);
                        cg = cg + 1;
                        paths.Add(path);



                        //将文件信息保存到数据库

                        //覆盖重复文件
                        Model.Store_data oldStore_data = Home.GetFile(filename, Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]));
                        if (oldStore_data != null)
                        {
                            System.IO.File.Delete(oldStore_data.DataRoute);
                            Home.DeleteOldFile(oldStore_data.Store_data_ID);
                        }
                        string[]         icon = filename.Split('.');
                        Model.Store_data data = null;
                        if (System.IO.File.Exists(Server.MapPath("~/Icon/" + icon[icon.Length - 1].ToUpper() + ".png")))
                        {
                            data = new Model.Store_data
                            {
                                User_ID       = Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]),
                                DataRoute     = path,
                                Real_FileName = filename,
                                File_Size     = Home.GetFileSize(files[i].ContentLength),
                                Folder_ID     = 0,
                                EstablishTime = DateTime.Now,
                                DeleteState   = 0,
                                SuffixName    = filename.Substring(filename.LastIndexOf(".")),
                                icon          = "/Icon/" + icon[icon.Length - 1].ToUpper() + ".png"
                            };
                        }
                        else
                        {
                            data = new Model.Store_data
                            {
                                User_ID       = Convert.ToInt32(Request.Cookies["MyCook"]["UserID"]),
                                DataRoute     = path,
                                Real_FileName = filename,
                                File_Size     = Home.GetFileSize(files[i].ContentLength),
                                Folder_ID     = 0,
                                EstablishTime = DateTime.Now,
                                DeleteState   = 0,
                                SuffixName    = filename.Substring(filename.LastIndexOf(".")),
                                icon          = "/Icon/weizhi.png"
                            };
                        }

                        Home.Insert(data);
                    }
                }
            }
            return(RedirectToAction("Index"));
            //return Content(@"<script> alert('成功" + cg + "个,失败" + sb + "个'); window.location.href = '/Home/Index'; </script>");
        }