PLT-6659 Fixed upload thumbnails that weren't properly rotated (#6816)

- Used client-side EXIF data to rotate profile picture thumbnails
- Added a small package for correctly translating EXIF orientation into CSS transforms
- Instead of displaying the image using FileReader, used URL.createObjectURL because it is faster
- For upload thumbnails, the original behavior was scaling the entire original image, without accounting for EXIF rotate. I changed this to use the thumbnail image, which does respect rotation.
- The preview image was not available when the upload request returned, because handling the preview image creation was in a goroutine. I used sync.WaitGroup to block until the preview image creation is done.
Этот коммит содержится в:
Rich Barton
2017-07-10 06:51:07 -07:00
коммит произвёл Christopher Speller
родитель b03b9d7362
Коммит 998b8f70c2
5 изменённых файлов: 92 добавлений и 14 удалений

Просмотреть файл

@@ -3,7 +3,7 @@
import ReactDOM from 'react-dom';
import * as Utils from 'utils/utils.jsx';
import {getFileUrl} from 'mattermost-redux/utils/file_utils';
import {getFileThumbnailUrl} from 'mattermost-redux/utils/file_utils';
import PropTypes from 'prop-types';
@@ -39,7 +39,7 @@ export default class FilePreview extends React.Component {
previewImage = (
<img
className='file-preview__image'
src={getFileUrl(info.id)}
src={getFileThumbnailUrl(info.id)}
/>
);
} else {