Использование временной памяти в фото-приложении с бэкэндом mongodb, развернутым на heroku - PullRequest
0 голосов
/ 02 января 2019

Это мое приложение для сохранения изображения в mongoDB .Я использовал multer и express в своем приложении и успешно развернул его на heroku.

Вот мой код:

const express = require('express');
const multer = require('multer');
const photo = require('../model/photo.js');
const fs = require('fs');
const path = require('path');

const router = express.Router();

process.env.PWD = process.cwd();

router.use(express.static(path.join(process.env.PWD,'public')));

const storage = multer.diskStorage({
    destination: function(req,res,cb) {
        cb(null,path.join(process.env.PWD,'public/upload'));
    }
});

const upload = multer({storage:storage});

router.get('/',(req,res) => {
    res.send("This is the api of photo gallery");
});

router.route('/all_data').post(upload.array('file'),(req,res) => {
    for(let i=0;i<req.files.length;i++)
    {
    let new_photo = new photo;
    new_photo.data = fs.readFileSync(req.files[i].path);
    new_photo.contentType = req.files[i].mimetype;
    new_photo.save();
    }
    res.send("New image added");
})
.get((req,res) => {
    photo.find({},(err,img) =>{
        if(err)
        throw err;
        res.contentType('json');
        res.send(img);
    });
});

module.exports = router;

У меня есть вопрос.Это хорошая идея, чтобы развернуть приложение, используя временную память (сохранить временное изображение в '/ public / upload' ), как это в heroku?

...