diff --git a/controllers/api.js b/controllers/api.js index b62c2ba5..7d0c53f8 100644 --- a/controllers/api.js +++ b/controllers/api.js @@ -51,15 +51,26 @@ router.post('/board/:board', Boards.exists, async (req, res, next) => { await fileUpload(req, res, filename); const fileData = await fileIdentify(filename); await fileThumbnail(filename); - files.push({ - filename: filename, - originalFilename: file.name, - mimetype: file.mimetype, - size: file.size, - dimensions: fileData.size, - geometry: fileData.Geometry, - size: fileData.Filesize - }) + const processedFile = { + filename: filename, + originalFilename: file.name, + mimetype: file.mimetype, + filesize: file.size, // size in bytes + size: fileData.Filesize, // 123 Ki size formatted string + dimensions: fileData.size, // object with width and height pixels + geometry: fileData.Geometry, // 123 x 123 string + } + //handle gifs with multiple geometry and size + if (Array.isArray(processedFile.size)) { + processedFile.size = processedFile.size[0]; + } + if (Array.isArray(processedFile.dimensions)) { + processedFile.geometry = processedFile.dimensions[0]; + } + if (Array.isArray(processedFile.geometry)) { + processedFile.geometry = processedFile.geometry[0]; + } + files.push(processedFile); } catch (err) { console.error(err); diff --git a/views/mixins/post.pug b/views/mixins/post.pug index 9f54414c..839e7f44 100644 --- a/views/mixins/post.pug +++ b/views/mixins/post.pug @@ -1,24 +1,25 @@ mixin post(board, post) - div(class='post-container '+(post.thread ? '' : 'op')) - .post-info - span.post-subject #{post.subject} - span.post-author #{post.author} - span #{post.date.toLocaleString()} - span No. - if post.thread == null - a(href=`/${board._id}/thread/${post._id}`) ##{post._id} - else - a(href=`/${board._id}/thread/${post.thread}#${post._id}`) ##{post._id} - if post.files.length > 0 - .post-files - each file in post.files - .post-file-info - span: a(href='/img/thumb-'+file.filename download=file.originalFilename) #{file.originalFilename} - span ( Size: #{file.size} - span Dimensions: #{file.geometry} ) - .post-file - a(href='/img/'+file.filename) - object(data='/img/thumb-'+file.filename type=file.mimetype) - .post-content - p(style='white-space: pre-wrap;') #{post.content} + .post-wrapper + div(class='post-container '+(post.thread ? '' : 'op')) + .post-info + span.post-subject #{post.subject} + span.post-author #{post.author} + span #{post.date.toLocaleString()} + span No. + if post.thread == null + a(href=`/${board._id}/thread/${post._id}`) ##{post._id} + else + a(href=`/${board._id}/thread/${post.thread}#${post._id}`) ##{post._id} + if post.files.length > 0 + .post-files + each file in post.files + .post-file-info + span: a(href='/img/thumb-'+file.filename download=file.originalFilename) #{file.originalFilename} + span ( Size: #{file.size} + span Dimensions: #{file.geometry} ) + .post-file + a(href='/img/'+file.filename) + object(data='/img/thumb-'+file.filename type=file.mimetype) + .post-content + p(style='white-space: pre-wrap;') #{post.content}