Невозможно загрузить изображение или файл Excel в s3 в безсерверной среде - PullRequest
2 голосов
/ 25 апреля 2019

Я создал пример безсерверной инфраструктуры, в которой есть функция для загрузки файлов на s3, но у меня возникают проблемы при загрузке файлов (файлы загружаются, но оказывается, что они повреждены).Ниже приведен код узла js, где я создал маршрут, контроллер и службу для загрузки файлов на s3 с помощью безсерверной инфраструктуры

//Router
app.post('/api/fileUpload', controller.fileUpload);

//Controller
exports.fileUpload = (req, res) => {
    let params = {
        Bucket: 'BucketName',
        Key: 'keyofAWSS3',
        ContentType: 'image/jpeg',
        Body: data,
        ACL: 'private'
    };

//to create file on S3
return s3Service.CreateToS3(params).then((fromResolve) => {
    console.log(fromResolve);
}).catch((error) => {
    console.log(error);
});

}

//Service
exports.CreateToS3 = (params) => {
let s3 = new AWS.S3();

return new Promise((resolve, reject) => {

        //Upload as a file to S3
        s3.putObject(params, (err, data) => {

        if (err) {
            reject(err);
        }

        resolve(data);

     });
    });
};

Ниже приведена служба настроек serverless.yml: service-name-of-Ламда-функция

provider:
  name: aws
  runtime: nodejs8.10
  timeout: 90
  stage: production
  memorySize: 128
deploymentBucket:
    name: bucketname
functions:
  funciton-name-of-lambda:
  handler: index.handler
  events:
    - http: ANY /
    - http: 'ANY {proxy+}'
...