const express = require('express');
const app = express();
app.use(express.json()); // application/json形式に対応する
app.use(express.urlencoded({ extended: true })); // application/x-www-form-urlencoded形式に対応する
// multipart/form-data形式に対応する
const multer = require('multer'); // `multipart/form-data` of HTTP <form>
const mediaImageDir = path.join(__dirname, "public", "media", "image"); // form内のMediaに該当する項目を保存するディレクトリを指定
//Set Storage Engine
const storage = multer.diskStorage({
destination: mediaImageDir,
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() +
path.extname(file.originalname));
}
});
const uploader = multer({ storage: storage });
// HTML form with "multipart/form-data"
// <form method="POST" action="/foo" enctype="multipart/form-data">
// <input type="text" name="title" placeholder="picture-title" />
// <input type="file" name="imageFile" />
// <input type="submit" value="Submit" />
// </form>
// 対応するAPI
app.post("your/path/to/upload/media", uploader.single('imageFile'), async (req, res) => {
// 取得した画像を扱う
console.log('--- post() /foo called ---')
console.log('--- req.body --')
console.log(req.body)
console.log('オリジナルファイル名: ', req.file.originalname);
console.log('送信された画像ファイルのパス: ', req.file.path);
// MIMEタイプでファイル形式をチェック
let ext = '';
if (req.file.mimetype === 'image/png') {
ext = ".png";
} else if (req.file.file.minetype === 'image/jpeg') {
ext = ".jpeg";
} else {
res.send("PNGまたはJPEG画像以外はUploadしません.");
return;
}
res.send('Done')
});
// HTML form with "multipart/form-data"
// <form method="POST" action="/foo" enctype="multipart/form-data">
// <input type="text" name="country" placeholder="country" />
// <input type="text" name="city" placeholder="city" />
// <input type="file" name="files" />
// <input type="file" name="files" />
// <input type="file" name="files" />
// <input type="submit" value="Submit" />
// </form>
// 対応するAPI
app.post("your/path/to/upload/media", uploader.array('files', 3), (req, res) => {
// 取得した画像を扱う
console.log('--- post() /foo called ---')
console.log('--- req.body --')
console.log(req.body)
console.log('--- req.files ---')
console.log(req.files)
res.send('Done')
});