Установка типа контента с помощью BlobContainerClient.UploadBlobAsyn c () - PullRequest
1 голос
/ 18 марта 2020

Эти два сообщения выглядели многообещающе:

Как загрузить BLOB-объекты в Azure Хранилище BLOB-объектов с указанным ContentType с помощью. NET v12 SDK?

Загрузка blockblob и настройка contenttype

Но в обоих случаях они используют разные библиотеки. (Почему их так много?) В соответствии с полномочиями, не зависящими от меня, мы используем BlobContainerClient . И внутри этого класса мы используем метод UploadBlobAsyn c.

public async Task<string> UploadAsync(string fileName, byte[] file, string containerName)
{
    ...
    BlobContainerClient container = await createContainerIfNotExistsAsync(containerName);
    using Stream stream = file.ToStream();
    var result = await container.UploadBlobAsync(fileName, stream);  // <-- does the upload.
    ...
}

По умолчанию тип установлен на application/octet-stream. Как я могу переопределить это?

1 Ответ

2 голосов
/ 18 марта 2020

Хорошо, разобрался. Есть два способа загрузить файл в хранилище BLOB-объектов.

Во-первых, как я это делал, обойдя создание BlobClient. Смотрите ОП для примера.

Второй выглядит так:

public async Task<string> UploadAsync(string fileName, byte[] file, string containerName)
{
    ...
    BlobContainerClient container = await createContainerIfNotExistsAsync(containerName);
    BlobClient blobClient = container.GetBlobClient(fileName);
    using Stream stream = file.ToStream();
    var result = await blobClient.UploadAsync(stream, new BlobHttpHeaders { ContentType = "text/plain" });
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...