Esempio n. 1
0
        public async Task <IActionResult> Download(Guid id, string name)
        {
            //todo: hacer funcionar con piping para evitar sobre-cargar la memoria.
            var result = await _serverApi.DownloadFile(id, name);

            Response.ContentLength = result.length;
            Response.ContentType   = MediaTypeNames.Application.Octet;
            Response.Headers["Content-Disposition"] = new ContentDisposition()
            {
                DispositionType = DispositionTypeNames.Attachment,
                FileName        = name
            }.ToString();

            CopyTo(result.stream, Response.Body, result.length);

            result.RequestContentDownloadedTrigger();

            return(Ok());
        }