簡體   English   中英

我收到多個錯誤:嘗試在 aws s3 存儲桶中上傳文件時出現意外字段

[英]I am getting multer error : unexpected field when i was trying to upload files in aws s3 bucket

我完成了 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!')

})

我的問題是通過將 multer-s3 包從版本 3 降級到 2 來解決的。

備查:

  • Multer S3 2.x 與 AWS SDK 2.x 兼容
  • Multer S3 3.x 與 AWS SDK 3.x 兼容

升級 AWS SDK,或降級 Multer S3 ( npm install multer-s3@2.xx )。

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM