Как передать содержимое файла, не состоящее из нескольких частей, из клиента в хранилище больших двоичных объектов без буферизации в приложении веб-API? - PullRequest
3 голосов
/ 18 марта 2019

В моем веб-интерфейсе мне нужно получить файлы и затем сохранить их в хранилище BLOB-объектов.Клиенты не имеют доступа и не знают о хранилище больших двоичных объектов.Я пытаюсь избежать буферизации файлов размером до 300 МБ.Я видел этот пост Как передать поток из веб-API в хранилище BLOB-объектов Azure без временных файлов? , но решение, описанное в этом посте, не будет работать для меня, поскольку оно предполагает содержание, состоящее из нескольких частейчто, в свою очередь, позволяет для нестандартного поставщика.Клиенты, с которыми мне приходится иметь дело, не отправляют файлы с использованием многокомпонентного контента.Вместо этого они просто отправляют содержимое файла в теле сообщения.

Вот что у меня сейчас работает (с буферизацией):

using (var inStream = await this.Request.Content.ReadAsStreamAsync())
{
    var blob = container.GetBlockBlobReference(fileName);
    var outStream = await blob.OpenWriteAsync();
    await inStream.CopyToAsync(outStream);
    outStream.Close();
}

Есть ли способ связать поток запроса с потоком BLOB-объектов безпервая буферизируется?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...