Загрузка изображения в s3 с помощью nodejs - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь загрузить изображение на s3, используя узел js.Я использую multer-s3.Когда я пытаюсь открыть изображение из s3, оно показывает «Предварительный просмотр недоступен. Ваш файл может быть поврежден». Я тоже пробовал fs, но результат все тот же.

services/file-upload.js

     const s3Config = new aws.S3({
        secretAccessKey: config.awsCredentials.secretAccessKey,
        accessKeyId: config.awsCredentials.accessKeyId,
        region: config.awsCredentials.region,
        bucket: 'bucketname',
    });

    const fileFilter = (req, file, cb) => {
      if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png') {
          cb(null, true)
      } else {
          cb(null, false)
      }
    }

    const multerS3Config = multerS3({
      s3: s3Config,
      bucket: 'bucketname',
      metadata: function (req, file, cb) {
          cb(null, { fieldName: file.fieldname });
      },
      key: function (req, file, cb) {
          console.log(file)
          cb(null, new Date().toISOString() + '-' + file.originalname)
      }
    });

    const upload = multer({
      storage: multerS3Config,
      fileFilter: fileFilter,
      limits: {
          fileSize: 1024 * 1024 * 5 // we are allowing only 5 MB files
      }
    })
controller.js
const upload = require('../services/file-upload');
var Uploader = require('s3-image-uploader');
const singleUpload = upload.single('file');
singleUpload(req, res, function(err) {
                 if (err) {
                   return res.status(422).send({errors: [{title: 'Image Upload Error', detail: err.message}] });
                 }

                return res.json({'imageUrl': "uploaded successfully"});
              });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...