From c4e32060bef6ad2c6a2c8dfb8cdb8ad34d0f302e Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 5 Sep 2017 12:13:03 -0500 Subject: fix svg thumbnails and non-png copy/pastes (#7348) --- webapp/components/file_preview.jsx | 11 +++++++++-- webapp/components/file_upload.jsx | 14 ++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/webapp/components/file_preview.jsx b/webapp/components/file_preview.jsx index 3ec656fd4..a53134f7e 100644 --- a/webapp/components/file_preview.jsx +++ b/webapp/components/file_preview.jsx @@ -9,7 +9,7 @@ import loadingGif from 'images/load.gif'; import Constants from 'utils/constants.jsx'; import * as Utils from 'utils/utils.jsx'; -import {getFileThumbnailUrl} from 'mattermost-redux/utils/file_utils'; +import {getFileUrl, getFileThumbnailUrl} from 'mattermost-redux/utils/file_utils'; export default class FilePreview extends React.Component { static propTypes = { @@ -47,7 +47,14 @@ export default class FilePreview extends React.Component { let className = 'file-preview'; let previewImage; - if (type === 'image' || type === 'svg') { + if (type === 'svg') { + previewImage = ( + + ); + } else if (type === 'image') { let imageClassName = 'post-image'; if (info.width < Constants.THUMBNAIL_WIDTH && info.height < Constants.THUMBNAIL_HEIGHT) { diff --git a/webapp/components/file_upload.jsx b/webapp/components/file_upload.jsx index 9ec4aaf2f..eb966aeed 100644 --- a/webapp/components/file_upload.jsx +++ b/webapp/components/file_upload.jsx @@ -250,11 +250,7 @@ class FileUpload extends React.Component { for (let i = 0; i < e.clipboardData.items.length; i++) { const item = e.clipboardData.items[i]; - if (item.type.indexOf('image') === -1) { - continue; - } - - if (Constants.IMAGE_TYPES.indexOf(item.type.split('/')[1].toLowerCase()) === -1) { + if (item.kind !== 'file') { continue; } @@ -279,8 +275,9 @@ class FileUpload extends React.Component { for (var i = 0; i < items.length && i < numToUpload; i++) { var file = items[i].getAsFile(); - - var ext = items[i].type.split('/')[1].toLowerCase(); + if (!file) { + continue; + } // generate a unique id that can be used by other components to refer back to this file upload var clientId = Utils.generateId(); @@ -299,7 +296,8 @@ class FileUpload extends React.Component { min = String(d.getMinutes()); } - const name = formatMessage(holders.pasted) + d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + hour + '-' + min + '.' + ext; + const ext = file.name.lastIndexOf('.'); + const name = formatMessage(holders.pasted) + d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + hour + '-' + min + (ext >= 0 ? file.name.substr(ext) : ''); const request = uploadFile( file, -- cgit v1.2.3-1-g7c22