Azure BlobClient не возвращает доступный для поиска потокC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Azure BlobClient не возвращает доступный для поиска поток

Сообщение Anonymous »

Я передаю файл с такой конечной точки:

Код: Выделить всё

[HttpGet("Files/{id}")]
[HttpHead("Files/{id}")]
public IActionResult GetFile(Guid id)
{
var blob = Container.GetBlobClient(id.ToString().ToLower()); // Container is a BlobContainerClient
var download = blob.Download();

return File(download.Value.Content, "mime-type", "file name", enableRangeProcessing: true);
}

Код: Выделить всё

download.Value.Content
— это поток, недоступный для поиска, поэтому Azure обслуживает ответ без заголовков content-length или Accept-ranges. Это означает, что при больших загрузках браузер не знает, насколько большим в конечном итоге будет файл, и не дает хорошего процента прогресса.
Я надеялся изменить свой код следующим образом. :

Код: Выделить всё

[HttpGet("Files/{id}")]
[HttpHead("Files/{id}")]
public IActionResult GetFile(Guid id)
{
var blob = Container.GetBlobClient(id.ToString().ToLower());
var stream = blob.OpenRead(new BlobOpenReadOptions(allowModifications: false)); ;

return File(stream, "mime-type", "file name", enableRangeProcessing: true);
}
Это приводит к тому, что обслуживается поток с возможностью поиска и генерируются все правильные заголовки.
Но не могу найти много информации о разнице между ними и особенно о том, почему .Download() недоступен для поиска. Я попробовал blob.DownloadStreaming и blob.DownloadTo. Они работают локально, но выдают исключения в Azure.

Попытка чтения или записи в защищенную память. Часто это указывает на повреждение другой памяти.

Я использую Azure.Storage.Blobs, Version=12.14.1.0< /p>
Есть ли у моего изменения какие-либо заметные недостатки?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ble-stream
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Azure BlobClient не возвращает доступный для поиска поток
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Azure BlobClient не предоставляет доступный поток
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Невозможно получить доступный для поиска файловый поток с помощью ContentResolve и Xamarin Android
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Невозможно получить доступный для поиска файловый поток с помощью ContentResolve и Xamarin Android
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Mocking BlobClient.DownLoadToAsync (поток) с использованием nsubstitute
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»