예제 #1
0
        private void _beginConversion(VideoFile originalFile, string extension)
        {
            var originalPath = Path.Combine(_baseFolder, originalFile.Folder, $"{originalFile.FileName}.{originalFile.FileExtension}");
            var newPath      = FileMetadata.VerifyFileUniqueness(Path.Combine(_baseFolder, originalFile.Folder, $"{originalFile.FileName}.{extension}"));

            try
            {
                _mediaManager.VideoConversion(originalPath, newPath);

                var metadata = new FileMetadata(newPath);
                metadata.GetDuration(_mediaManager);

                var newVideoFile = metadata.MapToExistingVideoFileEntity(originalFile);
                _videoFileReposotroy.Update(newVideoFile);
            }
            catch
            {
                Console.Write("There Was An Error");
            }
        }
예제 #2
0
        public bool AttemptCompleteFileCreation(long userId, FlowUploadForm flow, string filename, out FileMetadata fileinfo)
        {
            if (_allChunksArrived(userId, flow.flowTotalChunks, flow.flowIdentifier))
            {
                var tempFileName = _combineChunkFiles(userId, flow);

                var finalFilename = _createFinalPath(userId, filename);
                finalFilename = FileMetadata.VerifyFileUniqueness(finalFilename);

                File.Move(tempFileName, finalFilename);
                _deleteChunkFiles(userId, flow);

                fileinfo = new FileMetadata(finalFilename);

                return(true);
            }

            //File not yet ready to be reconstituted
            fileinfo = null;
            return(false);
        }