From 03ef1bf4f02684824e14c08ea6d6926fa4aab579 Mon Sep 17 00:00:00 2001 From: LluisArevalo Date: Mon, 8 May 2017 10:22:52 +0200 Subject: [PATCH] Add Content-Type to the images uploaded to AWS S3 --- app.js | 3 +++ lib/utils.js | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/app.js b/app.js index 677d3fa..91e17ad 100644 --- a/app.js +++ b/app.js @@ -548,6 +548,9 @@ app.post('/uploadimage', function (req, res) { Body: buffer } + var mimeType = getImageMimeType(files.image.path) + if (mimeType) { params.ContentType = mimeType } + s3.putObject(params, function (err, data) { if (err) { logger.error(err) diff --git a/lib/utils.js b/lib/utils.js index 6c36549..5254166 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -3,3 +3,23 @@ exports.isSQLite = function isSQLite (sequelize) { return sequelize.options.dialect === 'sqlite' } + +exports.getImageMimeType = function getImageMimeType (imagePath) { + var fileExtension = /[^.]+$/.exec(imagePath) + + switch (fileExtension[0]) { + case "bmp": + return "image/bmp" + case "gif": + return "image/gif" + case "jpg": + case "jpeg": + return "image/jpeg" + case "png": + return "image/png" + case "tiff": + return "image/tiff" + default: + return undefined + } +}