Node JS: Загрузка файлов на Amazon AWS S3 Bucket с помощью Node js + express + REST API
Из этого туториала Вы узнаете, как загрузить файл в Amazon AWS S3 Bucket с помощью node js с пакетом express, aws-s3, multer. Это руководство по загрузке файлов в AWS S3 с помощью Node.js создаст загрузку файлов в Amazon AWS S3 Bucket с использованием node js + express + REST API.
Загрузка файла в корзину Amazon s3 с помощью Node JS + Express
Выполните следующие шаги, чтобы загрузить один или несколько файлов в Amazon AWS S3 Bucket, используя node js + express + rest api:
Шаг 1. Создайте приложение Node Express js
Выполните следующую команду в терминале, чтобы создать приложение node js:
mkdir my-app
cd my-app
npm init -y
Шаг 2. Установите зависимости Express, aws-s3, Multer
Выполните следующую команду в терминале, чтобы установить зависимости express, aws-s3 и multer:
npm install express multer aws-sdk body-parser --save
Express - это минимальная и гибкая платформа веб-приложений Node.js, которая предоставляет надежный набор функций для веб-приложений и мобильных приложений.
body-parser - это библиотека npm, используемая для обработки данных, отправленных через тело HTTP-запроса.
AWS-SDK - AWS s3 npm используется для загрузки или удаления изображения из Amazon AWS S3 Bucket с помощью некоторых ключей.
Шаг 3 - Создайте файл Server.js
Посетите корневой каталог вашего приложения и создайте новое имя файла server.js.
Затем выполните следующие действия:
Импортировать установленные пакеты
Импортируйте установленный выше пакет зависимостей в файл server.js:
var aws = require('aws-sdk')
var express = require('express')
var multer = require('multer')
var multerS3 = require('multer-s3')
Настройка пакета AWS-S3 с Multer
Затем настройте пакет aws-s3 с помощью multer, как показано ниже:
var s3 = new aws.S3({
accessKeyId: " ",
secretAccessKey: " ",
Bucket: " "
})
var upload = multer({
storage: multerS3({
s3: s3,
bucket:””,
metadаta: function (req, file, cb) {
cb(null, { fieldName: file.fieldname });
},
key: function (req, file, cb) {
cb(null, Date.now().toString())
}
})
})
Создание загрузки одного файла в AWS S3 с помощью Node.js REST API Route
Следующий маршрут node js rest api будет загружать один файл в Amazon AWS S3 Bucket:
//Загрузка одного файла в корзину aws s3
app.post('/upload', upload.single('photos'), function (req, res, next) {
res.send({
dаta: req.files,
msg: 'Successfully uploaded ' + req.files + ' files!'
})
})
Создание загрузки нескольких файлов в AWS S3 с помощью Node.js REST API Route
Следующий маршрут node js rest api будет загружать несколько файлов в Amazon AWS S3 Bucket:
//Загрузка нескольких файлов в корзину aws s3
app.post('/upload', upload.array('photos', 3), function (req, res, next) {
res.send({
dаta: req.files,
msg: 'Successfully uploaded ' + req.files.length + ' files!'
})
})
Откройте файл server.js и добавьте в него следующий код:
var aws = require('aws-sdk')
var express = require('express')
var multer = require('multer')
var multerS3 = require('multer-s3')
var app = express()
var s3 = new aws.S3({
accessKeyId: " ",
secretAccessKey: " ",
Bucket: " "
})
var upload = multer({
storage: multerS3({
s3: s3,
bucket:””,
metadаta: function (req, file, cb) {
cb(null, { fieldName: file.fieldname });
},
key: function (req, file, cb) {
cb(null, Date.now().toString())
}
})
})
//Uploading single File to aws s3 bucket
app.post('/upload', upload.single('photos'), function (req, res, next) {
res.send({
dаta: req.files,
msg: 'Successfully uploaded ' + req.files + ' files!'
})
})
//Uploading Multiple Files to aws s3 bucket
app.post('/upload', upload.array('photos', 3), function (req, res, next) {
res.send({
dаta: req.files,
msg: 'Successfully uploaded ' + req.files.length + ' files!'
})
})
app.listen(4000, function () {
console.log('express is online');
})
Шаг 4 - Запустите сервер приложения Node Express Js
Выполните следующую команду в терминале, чтобы запустить js-сервер node express:
npm start
Шаг 5. Загрузка файлов в AWS S3 Bucket с помощью Node.js REST API.
Загрузка одного или нескольких файлов в Amazon AWS S3 Bucket с помощью node js rest API. Итак, откройте приложение Postman для отправки HTTP-запросов multipart/form-data как показано на рисунке ниже:
Загрузка файлов в AWS S3 с помощью Node js + express + rest API. Из этого руководства вы узнали, как загружать файлы в amazon s3 bucket, используя node js + rest api + express с пакетом express, aws-s3, multer.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.