var router = require('express').Router()
const multer = require('multer');
const fs = require("fs");
var path = require('path');
const uuidv4 = require('uuid/v4');
const rootPath = require('../server')
const upload = require('./multerConfig');
const AWS = require('aws-sdk');
const s3 = new AWS.S3({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
});
const uploadHandler = (req, res, next) => {
upload(req, res, async (err) => {
if (err) {
return res.status(415).send({
name: 'arrFiles', message: 'The file is incorrect format!'
})
}
let tasks = []
for (let i in req.files) {
// let pathExtName = path.extname(req.files[i].originalname).toLowerCase()
let pathFile = path.join(rootPath.rootPath, req.files[i].path)
const up = fs.readFileSync(pathFile);
const params = {
Bucket: 'hsbc-poc-input/cee',
Key: req.files[i].originalname,
Body: up
};
tasks.push(new Promise((resolve, reject) => {
s3.upload(params, function (s3Err, data) {
if (s3Err) reject(s3Err)
console.log(`File uploaded successfully at ${data.Location}`)
resolve(data)
});
}))
}
await Promise.all(tasks)
return res.json({
result: "ok",
data: {
message: "Upload successfully!"
}
});
})
};
module.exports = uploadHandler;
Created
May 20, 2019 15:11
-
-
Save hungdev/83199bf5247b50bbf482fb7533b6bfd0 to your computer and use it in GitHub Desktop.
aws upload.md
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment