Javascript-Edge 浏览器-类型错误:预期功能

Ngu*_*ơng 6 javascript microsoft-edge

此代码将显示错误: TypeError: Function expected

function btnUploadImageEvent() {
    $(document).on("click", "#btn-upload-image", function () {

        // Iterate all td's in second column
        $("#table-image tbody tr:not(:first-child)").each(function (index, value) {
            var blob = value.cells[5].innerText;
            var fileName = (index + 1) + ".jpg";

            srcToFile(blob, fileName, "image/jpeg")
                .then(function (file) {
                    var formData = new FormData();
                    formData.append("file", file);

                    PassingBlobToServer(formData);
                }, function (error) {
                    MsgBox("Error", error, "error", "#upload-image-modal");
                }).then(function () {
                });
        });
    });
}

function srcToFile(src, fileName, mimeType) {
    return (fetch(src)
        .then(function (res) { return res.arrayBuffer(); })
        .then(function (buf) { return new File([buf], fileName, { type: mimeType }); })
    );
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了这篇文章:https : //docs.microsoft.com/en-us/scripting/javascript/misc/function-expected

但是,我仍然不明白 MS 说什么。这一定是我的代码有问题。请帮助我,非常感谢。

Ngu*_*ơng 10

(作为@Tan Duong 的帮助。)

问题是浏览器兼容性。

Edge 或 IE 不支持File() 构造函数

解决方法:我们可以改用Blob构造函数(受支持):

var blob = new Blob([blobContent], {type : 'image/jpeg'});
Run Code Online (Sandbox Code Playgroud)

参考:https : //stackoverflow.com/a/43241922/9156186