Beispiel #1
0
        public async Task <IActionResult> Upload()
        {
            FormValueProvider formModel;
            var tempFileName = _hostingEnv.WebRootPath + $"{Path.DirectorySeparatorChar}videos{Path.DirectorySeparatorChar}tem.mp4";

            using (var stream = System.IO.File.Create(tempFileName))
            {
                formModel = await Request.StreamFile(stream);
            }
            var viewModel = new UploaderViewModel();


            var bindingSuccessful = await TryUpdateModelAsync(viewModel, prefix : "",
                                                              valueProvider : formModel);

            if (!bindingSuccessful)
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
            }

            var rezultFileName = _hostingEnv.WebRootPath + $"{Path.DirectorySeparatorChar}videos{Path.DirectorySeparatorChar}{viewModel.TaskId}.mp4";

            if (System.IO.File.Exists(rezultFileName))
            {
                System.IO.File.Delete(rezultFileName);
            }
            System.IO.File.Move(tempFileName, rezultFileName);
            var task = _taskData.GetVideoTask(viewModel.TaskId);

            task.LocalVideoUrl = rezultFileName;
            task.VideoUrl      = $"/videos/{viewModel.TaskId}.mp4";
            _taskData.UpdateVideoTask(task);
            return(Ok());
        }