diff --git a/src/share/content_renderer.js b/src/share/content_renderer.js index 0d300f61b..51cb7248b 100644 --- a/src/share/content_renderer.js +++ b/src/share/content_renderer.js @@ -76,7 +76,12 @@ function getContent(note) { content = ``; } else if (note.type === 'file') { - content = ``; + if (note.mime === 'application/pdf') { + content = `` + } + else { + content = ``; + } } else if (note.type === 'book') { content = getChildrenList(note); @@ -84,7 +89,7 @@ function getContent(note) { else { content = '

This note type cannot be displayed.

' + getChildrenList(note); } - + return content; } diff --git a/src/share/routes.js b/src/share/routes.js index 816664313..ee0a4ce9c 100644 --- a/src/share/routes.js +++ b/src/share/routes.js @@ -78,6 +78,26 @@ function register(router) { res.send(note.getContent()); }); + + router.get('/share/api/notes/:noteId/view', (req, res, next) => { + const {noteId} = req.params; + const note = shaca.getNote(noteId); + + if (!note) { + return res.status(404).send(`Not found`); + } + + const utils = require("../services/utils"); + + const filename = utils.formatDownloadTitle(note.title, note.type, note.mime); + + // res.setHeader('Content-Disposition', utils.getContentDisposition(filename)); + + res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + res.setHeader('Content-Type', note.mime); + + res.send(note.getContent()); + }); } module.exports = {