1

fengyuanchen のすばらしい jquery-cropper プラグインを使用しています。

特定の画像がアップロードされたときに回転し、ユーザーに回転させる必要がある右側にないという問題があります。経由で画像をアップロードしajaxます。rotate is not defined数時間立ち往生しているというエラーが表示されます。

$('#profilePhoto').on( 'change', function(){
            if (this.files && this.files[0]) {
                if ( this.files[0].type.match(/^image\//) ) {
                    var reader = new FileReader();
                    reader.onload = function(evt) {
                        var img = new Image();
                        img.onload = function() {
                            $("#profileImageContainer").hide();
                            $("#rotateImg").show();
                            context.canvas.height = img.height;
                            context.canvas.width  = img.width;
                            context.drawImage(img, 0, 0);
                            cropper = canvas.cropper({
                                aspectRatio: 1 / 1,
                                rotatable: true,
                            });

                            $('#btnCrop').click(function() {
                                // Get a string base 64 data url
                                var croppedImageDataURL = canvas.cropper('getCroppedCanvas').toDataURL("image/png");
                            });

                            $('#rotateImg').click(function () {
                                cropper.cropper.rotate(90);
                            });
                        };
                        img.src = evt.target.result;
                    };
                    reader.readAsDataURL(this.files[0]);
                }
                else {
                    alert("Invalid file type! Please select an image file.");
                }
            }
            else {
                alert('No file(s) selected.');
            }
        });

ここでの主な問題は、cropper 変数を認識していないように見えるため、スコープに関するものです。

ユーザーが写真をアップロードすると、この写真が自動的に回転することがあるため、この問題が表面化します。ユーザーに画像を回転させることなく、最初にこの問題を解決できれば、より良いでしょう

4

1 に答える 1