2015-08-25 2 views
3

Я пытаюсь Динамично предварительного просмотра изображения в JavaScript, прежде чем загрузить его, так что я получил этот код отсюда: Preview an image before it is uploadedJavascript предварительный просмотр изображения всегда в ландшафтном режиме ошибки

<input type="file" accept="image/*" onchange="loadFile(event)"> 
 
<img id="output"/> 
 
<script> 
 
    var loadFile = function(event) { 
 
    var output = document.getElementById('output'); 
 
    output.src = URL.createObjectURL(event.target.files[0]); 
 
    }; 
 
</script>

Он работает отлично, но когда я загружаю картинку, которая находится в портретном формате, она автоматически поворачивает ее и устанавливает ее в альбомную. Как я могу предотвратить это?

ответ

0

Не поворачивается изображение автоматически. Когда я его протестировал, он показывает мне правильное изображение и ориентацию.

Возможно, у вас возникла проблема с ориентацией EXIF ​​вашего изображения, которое не соблюдается браузером.

Предлагаю вам открыть изображение в программном обеспечении для редактирования изображений, например Photoshop, убедиться, что оно находится в портрете и сохранить его под новым именем.

Повторите попытку своего сценария, и он должен работать.

Если нет, попробуйте использовать другое изображение (портретное изображение, найденное в Интернете).

+0

любые идеи о том, как сделать ориентацию изображения в браузере? – raphadko

+0

Я не думаю, что вы можете заставить его. Пользователь должен правильно отправить файл. Иногда, когда я загружаю изображения, снятые с моего iPad на kijiji, мои изображения не в правильном формате. Такая же проблема, как и вы. Мне нужно сохранить их и загрузить их снова. –

+0

Кто-то задал подобный вопрос, но без ответа: http://stackoverflow.com/questions/12026441/is-there-a-way-to-tell-browsers-to-honor-the-jpeg-exifориентация –

0

для Firefox, вы можете использовать image-orientation

img { 
    image-orientation: from-image; 
} 

вы можете также использовать this library:

JavaScript Load Image библиотека для загрузки изображений, предоставленные в качестве файла или Blob объектов или через URL. Он возвращает необязательно масштабированный и/или обрезанный элемент HTML img или canvas.

+0

любой кросс-браузерные решения? Ориентация изображения, похоже, работает только в FF. http://caniuse.com/#search=image-orientation – raphadko

+0

Да, теперь она поддерживается только FF – trquoccuong

+0

Из w3: (Это свойство, скорее всего, будет устаревшим и его функциональность переместится в HTML) – raphadko

Смежные вопросы