如何使用 Cloudinary 小部件获取多个上传文件的数组

我让用户可以在表单上上传多个文件。上传界面由 Cloudinary 小部件处理。然后我想在后端传递带有上传文件 url 的数组以将其存储在数据库中。


不幸的是,代码似乎是同步运行的,因此一旦第一次上传完成,它的 url 就会被推送到数组中并且代码停止,而不是等待其他文件被推送到数组中。我只设法设置了一个 setTimeout 函数,但我承认这是一个蹩脚的解决方法。


$(document).ready(function () {

    var myWidget = cloudinary.createUploadWidget({

    cloudName: 'mycloudinaryaccountname', 

    uploadPreset: 'ml_default'}, (error, result) => { 

        if (!error && result && result.event === "success") { 

            console.log('Done! Here is the image info: ', result.info);

        fileArray = [];

        setTimeout(() => {

            fileArray.push(result.info.url)

            console.log(fileArray)

        }, 2000);    


        $('#valueUpload').val(fileArray);

        }


    }

    )


    document.getElementById("upload_widget").addEventListener("click", function(e){

        e.preventDefault();

        myWidget.open();

    }, false);

})


翻阅古今
浏览 116回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript