NodeJS - 上传到s3而不保存在本地文件系统中

时间:2018-01-21 04:10:32

标签: node.js rest amazon-web-services amazon-s3

我从REST API中的POST响应中收到一些文本。我想直接在s3中创建一个文本文件。我偶然发现的所有示例都使用本地文件,然后上传它。有没有办法直接上传而不保存在本地系统中?

1 个答案:

答案 0 :(得分:2)

您可以直接将req传递给s3.upload函数,如下所示

import express from 'express';

import {S3} from 'aws-sdk';

const s3 = new S3();
const app = express();

app.post('/data', async (req, res) => {
    var params = {
        Body: req,
        Bucket: "yourbucketname here",
        Key: "exampleobject",
    };
    s3.upload(params, async (err, data) => {
        if(err)
            log.info(err);
        else
            log.info("success");
    });
});
const server = app.listen(8081,async () => log.info("App listening") )

发布的文件将直接上传到aws s3。