Код: Выделить всё
[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
Я надеялся изменить свой код следующим образом. :
Код: Выделить всё
[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