Получить PDF из хранилища BLOB-объектов Azure - PullRequest
1 голос
/ 05 мая 2019

Я пытаюсь получить документы в формате pdf из своего хранилища BLOB-объектов Azure.Я получаю документ, но когда я пытаюсь открыть его, он говорит, что не может прочитать данные.

[HttpGet("GetFromBlob")]
    public async Task<ActionResult> GetFileFromBlob(string id)
    {

        MemoryStream ms = new MemoryStream();

        CloudStorageAccount storageAccount = CloudStorageAccount.Parse("connectionString");

        CloudBlobClient BlobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer c1 = BlobClient.GetContainerReference("blobName");

        if (await c1.ExistsAsync())
        {
            CloudBlob file = c1.GetBlobReference("FileReference");

            if (await file.ExistsAsync())
            {
                await file.DownloadToStreamAsync(ms);
                Stream blobStream = file.OpenReadAsync().Result;
                return File(blobStream, file.Properties.ContentType, file.Name);
            }
            else
            {
                return Content("File does not exist");
            }
        }
        else
        {
            return Content("Container does not exist");
        }
    }

Оказывается, что мой формат файла был неправильным

1 Ответ

0 голосов
/ 06 мая 2019

Пожалуйста, попробуйте использовать код ниже, который отлично работает на моей стороне:

В блоке кода if(await file.ExistsAsync()):

        if (await file.ExistsAsync())
        {
            await file.DownloadToStreamAsync(ms);
            var stream = await file.OpenReadAsync();
            return File(stream, "application/pdf");
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...