Files
zszq-trs/YLErpWeb/Controllers/UeditorController.cs
T
2024-05-09 14:06:26 +08:00

86 lines
2.5 KiB
C#

namespace YLErp.Web.Controllers
{
public class UeditorController : BaseController
{
public ActionResult Index()
{
var action = Request.Query["action"];
switch (action)
{
case "config":
{
var filePath = Server.MapPath("~/Scripts/ueditor/config.json");
var content = System.IO.File.ReadAllText(filePath);
return Content(content, "application/json");
}
case "uploadimage":
return uploadimage();
}
return Content(string.Empty, "application/json");
}
private JsonResult uploadimage()
{
var result = new UploadResult { state = "SUCCESS" };
if (Request.Form.Files.Count < 1)
{
result.state = "文件不存在";
return Json(result);
}
var file = Request.Form.Files[0];
var ext = Path.GetExtension(file.FileName);
if (".png|.jpg|.jpeg|.gif|.bmp".IndexOf(ext.ToLowerInvariant()) < 0)
{
result.state = "文件格式不支持";
return Json(result);
}
//10M文件大小限制
if (file.Length > 10 * 1024 * 1024)
{
result.state = "文件大小超过限制";
return Json(result);
}
var date = DateTime.Today;
var fileName = Guid.NewGuid().ToString("N") + ext;
var webpath = $"/app_upload/images/{date.Year}/{date.Month}/{fileName}";
var localPath = Server.MapPath(webpath);
Directory.CreateDirectory(Path.GetDirectoryName(localPath));
file.SaveAs(localPath);
result.url = webpath;
result.title = file.FileName;
result.original = file.FileName;
result.size = file.Length;
result.type = ext;
return Json(result);
}
public ActionResult Config(string id)
{
ViewData["id"] = id;
return View();
}
class UploadResult
{
public string state { get; set; }
public string url { get; set; }
public string title { get; set; }
public string original { get; set; }
public string type { get; set; }
public long size { get; set; }
}
}
}