Логика загрузки файла из корзины:
Код: Выделить всё
public async Task DownloadFile(string s3Key)
{
try
{
var getFile = new GetObjectRequest
{
BucketName = _bucketName,
Key = s3Key
};
var response = await AmazonS3Client.GetObjectAsync(getFile);
return response.ResponseStream;
}
catch (AmazonS3Exception e)
{
Console.WriteLine(e);
return null;
}
}
Код: Выделить всё
public async Task DownloadFile(string s3Key)
{
var getFileStream = await _bucketAcces.DownloadFile(s3Key);
return getFileStream;
}
Код: Выделить всё
public Task GetExcelFile()
{
return _bucketService.DownloadFile("produseExcelExample.xlsx");
}
Код: Выделить всё
public async Task GetExcelFile()
{
var fileStream = await _adminService.GetExcelFile();
if (fileStream is not null)
{
var fileMemoryStream = new MemoryStream();
await fileStream.CopyToAsync(fileMemoryStream);
fileMemoryStream.Position = 0;
var fileStreamResult = new FileStreamResult(fileMemoryStream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
{
FileDownloadName = "Exemplu_excel.xlsx"
};
return fileStreamResult;
}
return NotFound("Error on downloading file");
}

А затем

Он имеет 10,77 КБ< /strong> и размер загружаемого файла составляет 16,77 КБ. Значит, что-то не так, когда я извлекаю его из корзины, поэтому он может быть поврежден.
Что здесь делать?
ОБНОВЛЕНИЕ РЕШЕНО
Я совершил такую ошибку новичка. Конечно, файл обрабатывался как JSON, а не как Blob. Забыл добавить blob в мой тип ответа в запросе API к серверной части.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -corrupted
Мобильная версия