public async Task <IActionResult> Files(int cid, int sid, [FromServices] ISubmissionStore submissions) { var src = await submissions.GetFileAsync(sid); if (src == null) { return(NotFound()); } var srcDecoded = Convert.FromBase64String(src.Value.src); var memStream = new MemoryStream(); using (var zip = new ZipArchive(memStream, ZipArchiveMode.Create, true)) zip.CreateEntryFromByteArray(srcDecoded, "Main." + src.Value.ext); memStream.Position = 0; return(File(memStream, "application/zip")); }
public async Task <ActionResult <SubmissionFile[]> > SourceCode(int cid, int sid, [FromServices] ISubmissionStore submissions) { var src = await submissions.GetFileAsync(sid); if (src == null) { return(NotFound()); } return(new[] { new SubmissionFile { id = sid.ToString(), submission_id = sid.ToString(), filename = "Main." + src.Value.ext, source = src.Value.src } }); }