【问题标题】:I am getting multer error : unexpected field when i was trying to upload files in aws s3 bucket我收到 multer 错误:尝试在 aws s3 存储桶中上传文件时出现意外字段
【发布时间】:2022-06-10 17:36:30
【问题描述】:

我已完成 s3 存储桶的所有设置并使用正确的密钥,

我想从我的应用程序上传一个文件,使用 nodejs API 进行上传并从 s3 存储桶获取文件 URL

这是我的代码:

require("dotenv").config()

const express = require('express')

const app = express();

app.listen(3001,()=>{
   console.log("Runnning.......")
});

const aws = require('aws-sdk')
const multer = require('multer')
const multerS3 = require('multer-s3');


aws.config.update({
  secretAccessKey: process.env.ACCESS_SECRET,
  accessKeyId: process.env.ACCESS_KEY,
  region: process.env.REGION,
});
const BUCKET = process.env.BUCKET
const s3 = new aws.S3();

const upload = multer({
  storage: multerS3({
    s3: s3,
    acl: "public-read",
    bucket: BUCKET,
    key: function (req, file, cb) {
        console.log(file);
        cb(null, file.originalname)
    }
  })
})

app.post('/upload', upload.single('file'), async function (req, res, next) {

  res.send('Successfully uploaded ' + req.file.location + ' location!')

})

【问题讨论】:

  • 我觉得app.post('/upload',upload.single('file')这里不正确,这个函数需要处理req,res,next对象,因为它是一个中间件
  • 你能告诉我如何纠正它吗? @SándorBakos
  • 忽略我的评论,我错了,我的错,我认为文档中的那部分没问题,expressjs.com/en/resources/middleware/multer.html

标签: amazon-s3 multer multer-s3


【解决方案1】:

我的问题是通过将 multer-s3 包从版本 3 降级到 2 解决的。

【讨论】:

    猜你喜欢
    • 2021-09-09
    • 2021-08-15
    • 2017-11-06
    • 2017-08-08
    • 2016-03-18
    • 1970-01-01
    • 2018-04-25
    • 2015-12-07
    • 2018-01-07
    相关资源
    最近更新 更多