Чтобы загрузить файл на Amazon S3 с помощью Node.js, вы можете использовать несколько методов. Вот несколько вариантов:
- Использование AWS SDK для JavaScript (aws-sdk): вы можете использовать официальный AWS SDK для JavaScript для взаимодействия с S3. Установите SDK с помощью npm и настройте свои учетные данные AWS. Затем вы можете использовать метод
putObjectдля загрузки файла на S3. Вот пример:
const AWS = require('aws-sdk');
const fs = require('fs');
AWS.config.update({
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
region: 'YOUR_REGION'
});
const s3 = new AWS.S3();
const uploadFile = (fileName, bucketName) => {
const fileContent = fs.readFileSync(fileName);
const params = {
Bucket: bucketName,
Key: 'example.jpg',
Body: fileContent
};
s3.upload(params, (err, data) => {
if (err) {
console.error(err);
} else {
console.log('File uploaded successfully:', data.Location);
}
});
};
uploadFile('path/to/file.jpg', 'your-bucket-name');
- Использование пакета
aws-sdk-s3. Другой вариант — использовать пакетaws-sdk-s3, который представляет собой облегченную оболочку AWS SDK специально для Операции S3. Вы можете установить его с помощью npm, а затем использовать методuploadдля загрузки файла. Вот пример:
const S3 = require('aws-sdk-s3');
const fs = require('fs');
const s3 = new S3({
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
region: 'YOUR_REGION'
});
const uploadFile = (fileName, bucketName) => {
const fileContent = fs.readFileSync(fileName);
s3.upload({
Bucket: bucketName,
Key: 'example.jpg',
Body: fileContent
}, (err, data) => {
if (err) {
console.error(err);
} else {
console.log('File uploaded successfully:', data.Location);
}
});
};
uploadFile('path/to/file.jpg', 'your-bucket-name');
Это всего лишь пара примеров. Существуют и другие библиотеки и методы для загрузки файлов на S3 с помощью Node.js. Не забудьте заменить 'YOUR_ACCESS_KEY', 'YOUR_SECRET_ACCESS_KEY', 'YOUR_REGION', 'path/to/file.jpg'и 'your-bucket-name'с вашими фактическими учетными данными AWS, путем к файлу и именем корзины.