首頁 >後端開發 >php教程 >javascript - LocalResizeIMG.js在iphone下上传图片旋转了90度,如何解决

javascript - LocalResizeIMG.js在iphone下上传图片旋转了90度,如何解决

WBOY
WBOY原創
2016-06-06 20:07:101489瀏覽

LocalResizeIMG.js在iphone下上传图片旋转了90度,如何解决

回复内容:

LocalResizeIMG.js在iphone下上传图片旋转了90度,如何解决

这个要在这个js源码里去做图片旋转处理

<code>    var angle = '';
    this.on('change', function () {
        var file = this.files[0];
        var URL = window.URL || webkitURL;
        var blob = URL.createObjectURL(file);

        var BinaryAjax = window.BinaryAjax || '',
            EXIF = window.EXIF || '';
        if (BinaryAjax && EXIF) {
            // get photo orientation and set angle
            BinaryAjax(blob, function(o) {
                var oExif = EXIF.readFromBinaryFile(o.binaryResponse),
                    orientation = oExif.Orientation;

                switch(orientation) {
                    case 6:
                        angle = radians('90deg');
                        break;
                    case 3:
                        angle = radians('180deg');
                        break;
                    case 8:
                        angle = radians('270deg');
                        break;
                }
            });
        }

        // 执行前函数
        if($.isFunction(obj.before)) { obj.before(this, blob, file) };

        _create(blob, file);
        this.value = '';   // 清空临时数据

    });

    function radians(angle) {
        if (typeof angle == 'number') return angle;
        return {
            rad: function(z) {
                return z;
            },
            deg: function(z) {
                return Math.PI / 180 * z;
            }
        }[String(angle).match(/[a-z]+$/)[0] || 'rad'](parseFloat(angle));
    }</code>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn