变量似乎没有在移动设备上设置

Fre*_*ino 12 javascript html5 android exif ios

我正在读取图像文件并重新调整它以将其发送到服务器.为了正确地重新缩放它,我需要改变方向,因为一些照片是用移动设备相机拍摄的.为了执行此旋转,我使用exif.js库执行了以下操作:

EXIF.getData(img, function() {    
    alert(this.exifdata.Orientation);
    orientation = this.exifdata.Orientation;
    alert(orientation);
}
Run Code Online (Sandbox Code Playgroud)

如果this.exif.data.Orientation是,例如6,则下面的输出将是desierd:"6"​​,"6".

这通过我的计算机上传文件时有效.但是,从移动设备摄像头上传时,输出为"6",然后为"0",无论orientation之前有什么值.

为什么会这样?

注意:我只在一个线程上运行.因此,在执行这些行期间,无法在外部设置变量.

Sli*_*ePi 7

全局变量window.orientation表示移动设备上屏幕的方向,并且它是不可变的.更改变量的名称 - 或者放置var,, let或者const在它之前在本地声明它 - 将解决您的问题.