Exemple #1
0
        public IActionResult Get(String container, String blob)
        {
            if (_engine.ContainsBlob(container, blob))
            {
                var bytes = _engine.GetBlob(container, blob);
                HttpContext.Response.StatusCode            = 200;
                HttpContext.Response.Headers.ContentLength = bytes.Length;
                HttpContext.Response.Headers.Add("Content-MD5", GetMd5Hash(bytes));
                HttpContext.Response.Headers.Add("Accept-Ranges", "bytes");
                HttpContext.Response.Headers.Add("Last-Modified", DateTime.UtcNow.ToString("R"));

                HttpContext.Response.Headers.Add("ETag", "0x8D3C825319A7E5B");
                HttpContext.Response.Headers.Add("x-ms-request-id:", Guid.NewGuid().ToString("D"));
                HttpContext.Response.Headers.Add("x-ms-version:", "2016-05-31");
                HttpContext.Response.Headers.Add("x-ms-lease-status", "unlocked");
                HttpContext.Response.Headers.Add("x-ms-lease-state", "available");
                HttpContext.Response.Headers.Add("x-ms-blob-type", "BlockBlob");
                HttpContext.Response.Headers.Add("x-ms-server-encrypted", "false");
                HttpContext.Response.Headers.Add("Date", DateTime.UtcNow.ToString("R"));

                return(File(bytes, "application/octet-stream"));
            }
            else
            {
                throw new NotImplementedException();
            }
        }