Файл Excel при загрузке Amazon S3 Bucket поврежденC#

Место общения программистов C#
Ответить
Anonymous
 Файл Excel при загрузке Amazon S3 Bucket поврежден

Сообщение Anonymous »

Я загрузил файл .xlsx в корзину Amazon S3 . Проблема в том, что когда я пытаюсь получить его, файл повреждается, когда я пытаюсь открыть его с помощью Microsoft Excel. Я использую AWS SDK для .NET.
Логика загрузки файла из корзины:

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

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;
}
}

Затем попадает в мой уровень BUCKET SERVICE

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

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
Ответить

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

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

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

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

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