Я новичок в Azure. Я использую следующую часть кода для загрузки файла в Azure Blob.
public async Task<byte[]> UploadResultFile(string fileName, byte[] data)
{
if (StringUtilities.isBlankOrNull(fileName))
{
throw new EmptyStringException("File name cannot be empty or null");
}
// Creates a BlobServiceClient object which will be used to create a container client
BlobServiceClient blobServiceClient = new BlobServiceClient(config.StorageConnectionString);
// Create the container and return a container client object
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(config.ResultContainer);
// Create a local file in the ./data/ directory for uploading and downloading
string localFilePath = Path.Combine(Experiment.DataFolder, fileName);
// Write text to the file
// Adding a check to write a data in a file only if data is not equal to null
// This is important as we need to re-use this method to upload a file in which data has already been written
if (data != null)
{
File.WriteAllBytes(localFilePath, data);
}
// Get a reference to a blob
BlobClient blobClient = containerClient.GetBlobClient(fileName);
// Open the file and upload its data
// FileStream uploadFileStream = File.OpenRead(localFilePath);
using FileStream uploadFileStream = File.OpenRead(localFilePath);
await blobClient.UploadAsync(uploadFileStream, true);
uploadFileStream.Close();
return Encoding.ASCII.GetBytes(blobClient.Uri.ToString());
}
}
Но это вызывает проблему с uploadFileStream следующим образом:
uploadFilestream.ReadOut выдал исключение типа System.InvalidOAperationException
uploadFilestream.WriteOut выдал исключение типа System.InvalidOAperationException
Впоследствии консоль выдает следующее исключение:
Операция ввода-вывода была прервана либо из-за выхода потока, либо из-за запроса приложения.
Возникла исключительная ситуация: повторная попытка завершилась неудачно после 6 попыток. (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) System.AggregateException: Повторить попытку не удалось через 6 пытается. (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) (Операция была отменена.) --- ›System.Threading. Tasks.TaskCanceledException: операция отменена. --- ›System.Net.Http.HttpRequestException: ошибка при копировании содержимого в поток. --- ›System.IO.IOException: невозможно прочитать данные из транспортного соединения: операция ввода-вывода была прервана из-за выхода потока или запроса приложения .. ---› System.Net.Sockets.SocketException (995): операция ввода-вывода была прервана из-за выхода потока или запроса приложения.
Мы будем очень благодарны за любую помощь в выявлении и решении проблемы.