Exemple #1
0
        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"));
        }
Exemple #2
0
        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
                }
            });
        }