我让用户可以在表单上上传多个文件。上传界面由 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);
})
相关分类