public ActionResult Index(string apiKey, string category, HttpPostedFileBase file) { if (_apiKey != apiKey) return Error("error api key"); var filename = file.FileName; if (!_extensions.Any(c => filename.EndsWith(c))) { return Error("error extensions"); } if (string.IsNullOrWhiteSpace(category) || _allowFolders.All(c => category != c)) { return Error("error category"); } var extenssion = Path.GetExtension(filename); if (string.IsNullOrWhiteSpace(extenssion) || _extensions.All(c => extenssion != c)) { return Error("error extensions"); } var path = new ResizingPath(category,extenssion); var physicalPath = Server.MapPath(path.PhysicalPath); if (!Directory.Exists(physicalPath)) { Directory.CreateDirectory(physicalPath); } var physicalFilename= Server.MapPath(path.PhysicalFilename); file.SaveAs(physicalFilename); return Json(new {success = true, format = path.VirtualFormatFilename}); }
public ActionResult Index(string apiKey, string category, HttpPostedFileBase file) { if (_apiKey != apiKey) { return(Error("Invalid apiKey")); } var filename = file.FileName; if ( !_allowAllExtenssions && !_extensions.Any(c => filename.EndsWith(c))) { return(Error("Invalid file extension")); } if (_allowLocalIpUploadOnly) { if (!Current.IsLocalIp(Current.RequestIp)) { return(Error("Invalid IP , only allow local ip to upload")); } } if (string.IsNullOrWhiteSpace(category) || _allowFolders.All(c => category != c)) { return(Error("Invalid category")); } try { var extenssion = Path.GetExtension(filename); var path = new ResizingPath(category, extenssion); var physicalPath = Server.MapPath(path.PhysicalPath); if (!Directory.Exists(physicalPath)) { Directory.CreateDirectory(physicalPath); } var physicalFilename = Server.MapPath(path.PhysicalFilename); file.SaveAs(physicalFilename); return(Json(new UploadResult { IsSuccess = true, FormatUrl = path.VirtualFormatFilename, RawUrl = path.RawPath })); } catch (Exception ex) { return(Error(ex.Message)); } }
public ActionResult Index(string apiKey, string category, HttpPostedFileBase file) { if (_apiKey != apiKey) { return(Error("error api key")); } var filename = file.FileName; if (!_extensions.Any(c => filename.EndsWith(c))) { return(Error("error extensions")); } if (string.IsNullOrWhiteSpace(category) || _allowFolders.All(c => category != c)) { return(Error("error category")); } var extenssion = Path.GetExtension(filename); if (string.IsNullOrWhiteSpace(extenssion) || _extensions.All(c => extenssion != c)) { return(Error("error extensions")); } var path = new ResizingPath(category, extenssion); var physicalPath = Server.MapPath(path.PhysicalPath); if (!Directory.Exists(physicalPath)) { Directory.CreateDirectory(physicalPath); } var physicalFilename = Server.MapPath(path.PhysicalFilename); file.SaveAs(physicalFilename); return(Json(new { success = true, format = path.VirtualFormatFilename })); }