javascript - 上传后从AWS S3获取上传的文件

标签 javascript node.js amazon-web-services amazon-s3

考虑代码:

    var express = require('express'),
        aws = require('aws-sdk'),
        bodyParser = require('body-parser'),
        multer = require('multer'),
        multerS3 = require('multer-s3');

    aws.config.update({
        secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
        accessKeyId: 'XXXXXXXXXXXXXXX',
        region: 'us-east-1'
    });

    var app = express(),
        s3 = new aws.S3();

    app.use(bodyParser.json());

    var upload = multer({
        storage: multerS3({
            s3: s3,
            bucket: 'bucket-name',
            key: function (req, file, cb) {
                console.log(file);
                cb(null, file.originalname); //use Date.now() for unique file keys
            }
        })
    });

    //open in browser to see upload form
    app.get('/', function (req, res) {
        res.sendFile(__dirname + '/index.html');//index.html is inside node-cheat
    });

    //use by upload form
    app.post('/upload', upload.array('upl',1), function (req, res, next) {
        res.send("Uploaded!");
    });

    app.listen(3000, function () {
        console.log('Example app listening on port 3000!');
    });

如何获取用户在 Node 上传成功上传到存储桶后在 Node 中上传的文件?

文件上传后我需要对其进行一些操作。

最佳答案

成功上传文件后,它会返回一个网址。通过该 url,您可以检索已上传的文件。然后就可以使用nodejs函数fs.readFileSync(file path)来读取文件了。

关于javascript - 上传后从AWS S3获取上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58663448/

相关文章:

javascript - 鼠标悬停时在 iframe 中显示源 html

javascript - 在 Firefox 开发者工具中看到错误的 JavaScript 堆栈跟踪(就像在 Chrome 中一样)

Javascript sleep() 函数提前执行

node.js - Feathersjs 与 Express JS

node.js - Git Bash 找不到 node.js,即使它在我的路径中并且可以在 Powershell 中运行

amazon-ec2 - EC2 - 选择负载平衡的 MICRO 实例还是更少的小型实例?

android - 创建 Ec2 实例时没有响应启动 SSH 客户端

javascript - 淡出/int 背景图像只有根 div - jQuery/js

node.js - 如何使用 Lambda 和 DynamoDB 在日期范围之间进行扫描?

amazon-web-services - S3 存储桶策略,如何允许来自另一个账户的 IAM 组?