0

我正在为图像上传开发一个小功能。此图像上传在客户端调整选定图片的大小并上传调整大小的图像。

这可行,但浏览器会在“调整大小功能”之间挂起很多。这是我的代码:

    function manageImage(file) {
        if (!file) return;
        var mime = file.type;
        var src = URL.createObjectURL(file);

        loadImage.parseMetaData(file, function (data) {
            var options = { maxWidth: 1920, maxHeight: 1920, canvas: true };
            if (data.exif) {
                options.orientation = data.exif.get('Orientation');
            }
            loadImage(file,
            function (img, test) {

                    loaded++;

                    var formData = new FormData();
                    formData.append("image", dataURI);

                    $.ajax({
                        url: "/URL",
                        data: formData,
                        cache: false,
                        contentType: false,
                        processData: false,
                        async: false,
                        type: "POST",
                        success: function (resp) {


                        }
                    }).error(function () {
                    }).done(function () {
                        if (loaded < checkedFiles.length) {
                                manageImage(files[loaded]);
                        } else {
                            //FINISHED
                        }
                    });

            },
            options);
        });
    }
    manageImage(files[0]);

这个函数是递归的,因为我在迭代时遇到了一些问题(浏览器挂起、内存和 cpu 使用)。

此外,我正在将此库用于 EXIF-Data 和手机上的正确方向: https ://github.com/blueimp/JavaScript-Load-Image

用一两张选定的图片(例如 7MB)效果很好,但我想上传大概 50 张图片。

如果有人能给我一个线索,那就太好了?!

4

0 回答 0