public async Task <IFileStreamWithInfo> GetSubmissionFileAsync(Controller controller, int assignmentId, string studentId)
        {
            SubmissionDTO submission = await service.GetByCompositeKeysAsync(assignmentId, studentId);

            if (submission == null || submission.SubmitFile == null)
            {
                return(null);
            }
            string origFileName            = submission.SubmitFile.FileName;
            string fileGuid                = submission.SubmitFile.FileGuid;
            string mimeType                = MimeMapping.GetMimeMapping(origFileName);
            IFileStreamWithInfo fileStream = null;

            try
            {
                string filePath = Path.Combine(controller.Server.MapPath("~/Files/Assignments"), fileGuid);
                fileStream = new FileStreamWithInfo
                {
                    FileStream = File.ReadAllBytes(filePath),
                    FileName   = origFileName,
                    FileType   = mimeType
                };
            }
            catch
            {
                return(null);
            }
            return(fileStream);
        }
예제 #2
0
        public async Task <IFileStreamWithInfo> GetAssignmentFileAsync(int assignmentId)
        {
            AssignmentDTO assignment = await assignmentService.GetByIdAsync(assignmentId);

            if (assignment == null || assignment.AssignmentFile == null)
            {
                return(null);
            }
            string origFileName            = assignment.AssignmentFile.FileName;
            string fileGuid                = assignment.AssignmentFile.FileGuid;
            string mimeType                = MimeMapping.GetMimeMapping(origFileName);
            IFileStreamWithInfo fileStream = null;

            try
            {
                string filePath = Path.Combine(HttpContext.Current.Server.MapPath("~/Files/Assignments"), fileGuid);
                fileStream = new FileStreamWithInfo
                {
                    FileStream = File.ReadAllBytes(filePath),
                    FileName   = origFileName,
                    FileType   = mimeType
                };
            }
            catch (Exception)
            {
                return(null);
            }
            return(fileStream);
        }