diff options
Diffstat (limited to 'lib/web')
| -rw-r--r-- | lib/web/imageRouter.js | 34 | ||||
| -rw-r--r-- | lib/web/noteRouter.js | 4 | ||||
| -rw-r--r-- | lib/web/utils.js | 7 | 
3 files changed, 45 insertions, 0 deletions
diff --git a/lib/web/imageRouter.js b/lib/web/imageRouter.js index bebab302..b17cccbd 100644 --- a/lib/web/imageRouter.js +++ b/lib/web/imageRouter.js @@ -73,6 +73,40 @@ imageRouter.post('/uploadimage', function (req, res) {                })              })              break + +          case 'minio': +            var utils = require('../utils') +            var Minio = require('minio') +            var minioClient = new Minio.Client({ +              endPoint: config.minio.endPoint, +              port: config.minio.port, +              secure: config.minio.secure, +              accessKey: config.minio.accessKey, +              secretKey: config.minio.secretKey +            }) +            fs.readFile(files.image.path, function (err, buffer) { +              if (err) { +                logger.error(err) +                res.status(500).end('upload image error') +                return +              } + +              var key = path.join('uploads', path.basename(files.image.path)) +              var protocol = config.minio.secure ? 'https' : 'http' + +              minioClient.putObject(config.s3bucket, key, buffer, buffer.size, utils.getImageMimeType(files.image.path), function (err, data) { +                if (err) { +                  logger.error(err) +                  res.status(500).end('upload image error') +                  return +                } +                res.send({ +                  link: `${protocol}://${config.minio.endPoint}:${config.minio.port}/${config.s3bucket}/${key}` +                }) +              }) +            }) +            break +            case 'imgur':            default:              imgur.setClientId(config.imgur.clientID) diff --git a/lib/web/noteRouter.js b/lib/web/noteRouter.js index 007c02c2..41bf5f73 100644 --- a/lib/web/noteRouter.js +++ b/lib/web/noteRouter.js @@ -4,10 +4,14 @@ const Router = require('express').Router  const response = require('../response') +const {markdownParser} = require('./utils') +  const noteRouter = module.exports = Router()  // get new note  noteRouter.get('/new', response.newNote) +// post new note with content +noteRouter.post('/new', markdownParser, response.newNote)  // get publish note  noteRouter.get('/s/:shortid', response.showPublishNote)  // publish note actions diff --git a/lib/web/utils.js b/lib/web/utils.js index c9016523..d58294ad 100644 --- a/lib/web/utils.js +++ b/lib/web/utils.js @@ -7,3 +7,10 @@ exports.urlencodedParser = bodyParser.urlencoded({    extended: false,    limit: 1024 * 1024 * 10 // 10 mb  }) + +// create text/markdown parser +exports.markdownParser = bodyParser.text({ +  inflate: true, +  type: ['text/plain', 'text/markdown'], +  limit: 1024 * 1024 * 10 // 10 mb +})  | 
