首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想上传带有扩展名的文件到亚马逊s3,但它不会上传带有扩展名的文件

我想上传带有扩展名的文件到亚马逊s3,但它不会上传带有扩展名的文件
EN

Stack Overflow用户
提问于 2019-01-25 19:28:48
回答 1查看 990关注 0票数 1

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

代码语言:javascript
运行
复制
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终点指南请告诉我

代码语言:javascript
运行
复制
 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});
        });
      });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-25 22:38:06

你必须在你的multer中添加任何你想要的字符串作为文件名function.You可以用下面的方法添加文件扩展名到文件

代码语言:javascript
运行
复制
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)
      }
    })
  })
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54364431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档