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); }
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); }