gpt4 book ai didi

javascript - DropzoneJS dataURL 未定义

转载 作者:行者123 更新时间:2023-12-03 17:04:09 26 4
gpt4 key购买 nike

我正在制作一个上传脚本,但我坚持从“addfile”事件的“file”获取dataURL,这是我的代码:

$(function() {

var dropzone = new Dropzone('#avatar', {
url: '/uploads/avatar',
clickable: '.upload',
maxFilesize: 5,
maxFiles: 1,
previewsContainer: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});

dropzone.on('addedfile', function(file) {
window.test = file;
document.getElementById('avatar').setAttribute('src', file.dataURL);
$('#loader').show();
});

dropzone.on('success', function(file, result) {
$('#avatar_url').val(result.url);
$('#loader').hide();
});
});

当脚本的以下行被执行时:
document.getElementById('avatar').setAttribute('src', file.dataURL);

图像的 src 属性变为未定义,如果我控制台日志 file.dataURL 它也未定义,但控制台日志记录只是"file"正确记录对象;但是,当我转到浏览器控制台并执行此操作时:
console.log(test.dataURL);

它正确输出数据url,我可以成功使用它。

这是记录到控制台的"file"的屏幕截图:

enter image description here

最佳答案

缩略图是异步生成的,这意味着 dataURL addedfile 时尚未生成事件被发出。有一个 thumbnail event它在生成缩略图时发出,传递 dataURL值作为第二个参数。
你可以这样做:

dropzone.on('thumbnail', function(file, dataURL) {
document.getElementById('avatar').setAttribute('src', dataURL);
});

关于javascript - DropzoneJS dataURL 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50350951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com