Пример #1
0
        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));
        }
Пример #2
0
        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));
        }