Загрузка файла из хранилища MinIO S3 в ASP.NETC#

Место общения программистов C#
Ответить
Anonymous
 Загрузка файла из хранилища MinIO S3 в ASP.NET

Сообщение Anonymous »

Я пытаюсь загрузить файл с minio, используя официальный пакет Minio.
Мне кажется, что способ загрузки файла довольно неправильный:

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

var downloadStream = new MemoryStream();
var args = new GetObjectArgs()
.WithBucket(bucketName)
.WithObject(fileName)
.WithCallbackStream(x =>
{
x.CopyTo(downloadStream);
downloadStream.Seek(0, SeekOrigin.Begin);
});
Я вижу здесь 2 проблемы:
  • Я загружаю весь файл в память (может вызвать переполнение памяти, если многие пользователи пытаются загрузить файлы или файлы слишком велики)
  • Копирование может занять значительное время
Кроме того, наивное назначение downloadStream = x не работает, поскольку поток обратного вызова закрывается и удаляется после тело обратного вызова завершает свое выполнение.
Думаю, мне также нужно упомянуть, что я не могу напрямую записать этот поток в вывод запроса, потому что я использую minio в другой сборке, изолированной от ASP.NET. контроллер.

Подробнее здесь: https://stackoverflow.com/questions/765 ... in-asp-net
Ответить

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

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

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

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

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