Пример #1
0
        public JsonResult Upload(string parent = "~/")
        {
            string root = KCore.PhysicalPath(parent);

            if (!Directory.Exists(root))
            {
                return(Json(new KResult
                {
                    status = KStatus.error,
                    message = "parent not exist"
                }));
            }

            KResult        result = new KResult();
            List <KResult> data   = new List <KResult>();

            foreach (string key in Request.Files.AllKeys)
            {
                KResult            fileResult = new KResult();
                HttpPostedFileBase file       = Request.Files.Get(key);

                if (file != null && file.ContentLength > 0)
                {
                    string fileName = file.FileName;
                    string fullName = root + "\\" + fileName;

                    fileResult.data = fileName;

                    if (System.IO.File.Exists(fullName))
                    {
                        fileResult.status  = KStatus.warning;
                        fileResult.message = "فایلی با نام و پسوند مشابه وجود دارد.";
                    }
                    else
                    {
                        try { file.SaveAs(fullName); /*fileResult.message = "فایل با موفقیت آپلود شد";*/ }
                        catch (Exception ex) { fileResult.status = KStatus.error; fileResult.message = ex.Message; }
                    }
                }
                else
                {
                    fileResult.status  = KStatus.warning;
                    fileResult.message = "فایلی وجود ندارد.";
                }

                data.Add(fileResult);
            }

            result.data = data;

            return(Json(result));
        }
Пример #2
0
        public JsonResult AddNewItem(string type, string name, string parent)
        {
            KResult result = new KResult();

            if (!KCore.IsValidFileName(name))
            {
                result.status  = KStatus.warning;
                result.message = "file/folder name is invalid: it either contains invalid characters or starts with a reserved name";
                return(Json(result));
            }

            string fullName = KCore.PhysicalPath(parent + "/" + name);

            switch (type)
            {
            case "file":
                if (!System.IO.File.Exists(fullName))
                {
                    FileStream fs = null;
                    try { fs = System.IO.File.Create(fullName); }
                    catch (Exception ex) { result.status = KStatus.error; result.message = ex.Message; }
                    finally { if (fs != null)
                              {
                                  fs.Close(); fs.Dispose();
                              }
                    }
                }
                else
                {
                    result.status = KStatus.error; result.message = "file " + name + " already exists.";
                }
                break;

            case "folder":
                try { Directory.CreateDirectory(fullName); }
                catch (Exception ex) { result.status = KStatus.error; result.message = ex.Message; }
                break;

            default:
                result.status  = KStatus.error;
                result.message = "incorrect type";
                break;
            }

            return(Json(result));
        }