【问题标题】:I want to upload files with extension to aws s3 but it will not upload file with extension我想将带有扩展名的文件上传到 aws s3 但它不会上传带有扩展名的文件
【发布时间】:2019-06-19 05:43:26
【问题描述】:

这是我的文件 Upload.js 但是当我上传文件时它会成功上传但它的扩展名丢失我想上传带有扩展名的文件。请帮助我

const aws = require('aws-sdk');
const multer = require('multer');
const multerS3 = require('multer-s3');
aws.config.update({
    secretAccessKey: '', 
    accessKeyId: '',  
    region: 'us-east-2'
});

const s3 = new aws.S3({ })

const fileFilter = (req, file, cb) => {
    if (file.mimetype === 'music/AAC' || file.mimetype === 'music/AVI' ||file.mimetype === 'music/mp3' ||file.mimetype === 'music/AVI') {
        cb(null, true)
    } else {
        cb(new Error('Invalid Mime Type, only JPEG and PNG'), false);
    }
  }

const upload = multer({

    storage: multerS3({
    fileFilter,
      s3,
      bucket: 'admin-song',
      acl: 'public-read',
      metadata: function (req, file, cb) {
        cb(null, {fieldName: 'TESTING_META_DATA!'});
      },
      key: function (req, file, cb) {
        cb(null, Date.now().toString())
      }
    })
  })

module.exports = upload;

这是我的 Api 端点,请指导我

 app.post('/v1/admin/upload/song',function(req, res) {

        singleUpload(req, res, function(err) {

          if (err) {
            return res.status(422).send({errors: [{title: 'File Upload Error', detail: err.message}] });
          }
          console.log(res)
          return res.json({'imageUrl': req['file'].location});
        });
      });

【问题讨论】:

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


    【解决方案1】:

    您必须在 multer 函数中添加您想要的任何字符串作为文件名。您可以使用以下方法为文件添加文件扩展名

    const upload = multer({
    
        storage: multerS3({
        fileFilter,
          s3,
          bucket: 'admin-song',
          acl: 'public-read',
          metadata: function (req, file, cb) {
            cb(null, {fieldName: 'TESTING_META_DATA!'});
          },
          key: function (req, file, cb) {
            cb(null, Date.now().toString() + '.' + fileExtension)
          }
        })
      })
    

    【讨论】:

      猜你喜欢
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      • 2015-05-20
      相关资源
      最近更新 更多