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)); }
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)); }