В последние пару дней я изо всех сил пытался загрузить файлы в AWS S3:
Подход 1. Использование aws-sdk, хотя подход довольно прост, чтобы сделать это из angular6, даже не переходя на бэкэнд,Но проблема заключается в том, что учетные данные выглядят следующим образом:
const bucket = new S3(
{
accessKeyId: 'YOUR-ACCESS-KEY-ID',
secretAccessKey: 'YOUR-SECRET-ACCESS-KEY',
region: 'us-east-1'
}
);
из этого: https://grokonez.com/aws/angular-4-amazon-s3-example-how-to-upload-file-to-s3-bucket
Подход 2. Загрузка файлов в WebAPI с использованием Base64 и загрузка в aws из бэкэнда, этовполне достижимо.Но я заметил ухудшение качества изображения при передаче.Кроме того, загрузка видео - это кошмар
Подход 3. Загрузка файлов с использованием лямбда-функции AWS S3 с использованием Angular6 с NodeJS в качестве серверной части. У меня нет подсказки для NodeJS.
Подход 4. Создание WebAPI для получения файловпередается с потоковой передачей, а затем отправляется в AWS.Подход вполне приемлем, но то же самое не работает для меня.Я пробовал разные способы загрузки файла с помощью WebAPI из приложения Angular, но ни один из них не работает.Вот подход: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-2.1 http://www.talkingdotnet.com/upload-file-angular-5-asp-net-core-2-1-web-api/#comment-74050
Размещенный файл никогда не попадает в бэкэнд.Я уже написал тот же вопрос о том, что я не получаю файл из бэкэнда:
Загрузка файла из Angular6 в Asp.Net Core WebAPI, индекс выхода которого выходит за пределы диапазона в Asp.Net API
Кроме того, в подходе 4 будет использовано двойное использование ресурса сервера, поэтому я очень не хочу этого делать.
Но я уверен, что это не должно быть так много утомления, какпохоже на то.Надеюсь, у вас, ребята, есть какое-то решение?