javascript - 如何在手机上防止图片人像翻转

标签 javascript html css angular

我在移动设备上遇到问题手机只能翻转肖像图像...

我正在使用 Angular 2...

代码如下:

<input type="file" name="file" accept="image/*"
 (change)="handleInputChange($event)" multiple>

和函数:

handleInputChange(e) {
        var files = e.dataTransfer ? e.dataTransfer.files : e.target.files;
        var pattern = /image-*/;

        let joined = this.toArray(this._sharedService.filesProduct).concat(this.toArray(files));
        this._sharedService.filesProduct = joined;

        for (var i = 0; i < files.length; i++) {
            var reader = new FileReader();

            this.loaded = false;

            reader.onload = this._handleReaderLoaded.bind(this);
            reader.readAsDataURL(files[i]);
        }

    }

我认为这是 html 部分的一些问题,不确定为什么它会在手机上翻转肖像图像。

最佳答案

使用 Angular 运行 ng new my-app 时构建的默认应用程序(来自 Angular's QuickStart )以及此 EXIF 库:exif-js .以下是如何从 JPG 读取 EXIF 数据的示例:

import { Component, Input } from '@angular/core';
import {EXIF} from 'exif-js';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app';
    handleInputChange(e) {
        const files = e.dataTransfer ? e.dataTransfer.files : e.target.files,
              fr = new FileReader();
        fr.addEventListener('load', () => {
            const data = fr.result;
            const exif = EXIF.readFromBinaryFile(fr.result);
            console.log(exif);
        });
        fr.readAsArrayBuffer(files[0]);
    }
}

关于javascript - 如何在手机上防止图片人像翻转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431796/

相关文章:

HTML 5 input type=datetime 元素的 PHP 时间戳

Gtk3标签行间距

javascript - 如何在 vanilla javascript 中通过 DOM 创建多个元素?

javascript - 我是否需要 Goodreads API key 来检索图书元数据?

Javascript函数不执行,但执行第一条指令

Javascript 程序在按下某个按键时卡住。为什么?

html - 下拉导航框

html - CSS 边框解决方法

jquery - 如何将两个 div 相互定位?

html - 我应该在 HTML 中使用 % 还是 'px'