Example #1
0
        public ActionResult Upload([Bind(Include = "Title,Description,IsPrivate,Kategoria")] MediaFile mediaFile, HttpPostedFileBase file)
        {
            var isFileValid = file != null && file.ContentLength > 0;

            mediaFile.ApplicationUserId = User.Identity.GetUserId();

            if (!ModelState.IsValid || !isFileValid || !ServerTools.CategoriesList.List.Contains(mediaFile.Category))
            {
                // ViewBag.Kategoria = new SelectList(ServerTools.CategoriesList.List);

                // return View(mediaFile);
                var ms = ModelState;
                Response.StatusCode = 400;

                /*var result = JsonConvert.SerializeObject(ModelState.Values);
                 * return Content(result, "application/json");*/
                var errors = ModelErrorsToDictionary(ModelState);
                if (!isFileValid)
                {
                    errors.Add("File", "File not supported");
                }

                return(Json(errors));
            }



            mediaFile.IsBeingConverted = true;
            db.MediaFiles.Add(mediaFile);
            db.SaveChanges();

            var dir = Server.MapPath("~/MediaData/Videos/" + mediaFile.Id);

            //todo: check if dir exists
            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }


            var fileName = Path.GetFileName(file.FileName);
            var path     = Path.Combine(dir, fileName);

            file.SaveAs(path);


            MediaService.ConvertVideo(fileName, mediaFile.Id);

            ViewBag.Info = "Your video was successfully uploaded";


            // return RedirectToAction("Pending","Manage");
            Response.StatusCode = 200;
            return(Json("Success"));
        }
Example #2
0
        public ActionResult Upload([Bind(Include = "Title, Description, IsPrivate, Category")] Media mediaFile,
                                   HttpPostedFileBase file)
        {
            var isFileValid = (file != null && file.ContentLength > 0);

            mediaFile.ApplicationUserId = User.Identity.GetUserId();

            if (!ModelState.IsValid || !isFileValid || !ServerParams.CategoriesList.List.Contains(mediaFile.Category))
            {
                var ms = ModelState;
                Response.StatusCode = 400;
                var errors = ModelErrorsToDictionary(ModelState);
                if (!isFileValid)
                {
                    errors.Add("File", "File not supported.");
                }

                return(Json(errors));
            }

            mediaFile.IsBeingConverted = true;
            db.Media.Add(mediaFile);
            db.SaveChanges();

            var dir = Server.MapPath("~/MediaData/Videos/" + mediaFile.Id);

            // todo: check if dir exists
            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }

            var fileName = Path.GetFileName(file.FileName);
            var path     = Path.Combine(dir, fileName);

            file.SaveAs(path);

            MediaService.ConvertVideo(fileName, mediaFile.Id);

            ViewBag.Info        = "Your video was successfully uploaded";
            Response.StatusCode = 200;
            return(Json("Success"));
        }