public JsonResult TinyMceUpload() { var ret = 0; const int megabyte = 1024 * 1024; HttpFileCollectionBase files = Request.Files; HttpPostedFileBase file = files[0]; var extension = Path.GetExtension(file.FileName.ToLowerInvariant()); string[] extensions = { ".gif", ".jpg", ".png", ".svg", ".webp", ".mp3", ".mp4" }; if (!extensions.Contains(extension)) { ret = -1; // throw new InvalidOperationException("Invalid file extension."); } var fileN = Path.GetFileName(file.FileName); // var fileName = Guid.NewGuid() + extension; var fileName = DateTime.Now.ToString("ddMMyyyy_HHmmss") + extension; int year, month, day; year = DateTime.Now.Year; month = DateTime.Now.Month; day = DateTime.Now.Day; var targetFolder = Server.MapPath(string.Format("~/ContentQuestion/{0}/{1}/{2}", year, month, day)); if (!Directory.Exists(targetFolder)) { Directory.CreateDirectory(targetFolder); } var realfilename = com.checkFileName(targetFolder, file.FileName); var path = Path.Combine(targetFolder, realfilename); file.SaveAs(path); var location = Path.Combine(string.Format("/ContentQuestion/{0}/{1}/{2}", year, month, day), realfilename).Replace('\\', '/'); if (ses.tSOURCEPATHSESSION == null) { ses.tSOURCEPATHSESSION = new List <string>(); } ses.tSOURCEPATHSESSION.Add(files.AllKeys[0]); if (ses.tDESTINATIONPATHSESSION == null) { ses.tDESTINATIONPATHSESSION = new List <string>(); } ses.tDESTINATIONPATHSESSION.Add(location); return(Json(new { location = location, ret = ret }, JsonRequestBehavior.AllowGet)); }
public JsonResult post() { COMMONTOOL comto = new COMMONTOOL(); string[] imgexts = { "BMP", "JPG", "PNG", "GIF", "JPEG", "TIF" }; string[] docexts = { "PDF", "ZIP", "RAR", "7Z", "GZ", "GZIP" }; string filename = ""; string linkfile = ""; string uploadedfilename = ""; string ext = ""; int ret = 0; string basepath = ""; int type = 0; //must be logined if (ses.isLogin() != 0) { //ret = -1; } if (Request.Files.Count < 1) { ret = -2; } if (ret >= 0) { //only the first file uploadedfilename = Request.Files[0].FileName; ext = com.fileExtension(uploadedfilename); ext = ext.ToUpper(); if (imgexts.Contains(ext)) { type = 1; } if (docexts.Contains(ext)) { type = 2; } if (type == 0) { ret = -3;//Không thuộc kiểu file được chấp nhận } } //upload limmit if (ret >= 0) { if (type == 1 && Request.Files[0].ContentLength > 20 * 1048576) { Request.Files[0].InputStream.Dispose(); ret = -5; } if (type == 2 && Request.Files[0].ContentLength > 40 * 1048576) { Request.Files[0].InputStream.Dispose(); ret = -5; } } if (ret >= 0) { //tính đường dẫn file lưu basepath = Server.MapPath("/"); if (type == 1) { linkfile = string.Format("images/{0}/{1}/", DateTime.Now.Year, DateTime.Now.Month.ToString("00")); basepath += linkfile; } else { linkfile = string.Format("files/{0}/{1}/", DateTime.Now.Year, DateTime.Now.Month.ToString("00")); basepath += linkfile; } com.createDirectory(basepath); } if (ret >= 0) { var fileContent = Request.Files[0]; filename = com.checkFileName(basepath, fileContent.FileName); if (filename != "") { linkfile = "/" + linkfile + filename; var stream = fileContent.InputStream; // and optionally write the file to disk try { var fileStream = System.IO.File.Create(basepath + filename); stream.CopyTo(fileStream); stream.Close(); fileStream.Close(); } catch (Exception ex) { ret = -4; } } } if (ret >= 0) { ret = comto.UploadedFile(linkfile, uploadedfilename, "NEWS"); } return(Json(new { sussess = ret, filename = linkfile }, JsonRequestBehavior.AllowGet)); }