DropzoneJS dataURL 未定义
DropzoneJS dataURL is undefined
我正在制作一个上传脚本,但我一直无法在 "addedfile" 事件中从 "file" 获取数据 URL,这是我的代码:
$(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" 记录到控制台的屏幕截图:
缩略图是异步生成的,这意味着当 addedfile
事件发出时 dataURL
还没有生成。生成缩略图时会发出 thumbnail
event,将 dataURL
值作为第二个参数传递。
你可以这样做:
dropzone.on('thumbnail', function(file, dataURL) {
document.getElementById('avatar').setAttribute('src', dataURL);
});
我正在制作一个上传脚本,但我一直无法在 "addedfile" 事件中从 "file" 获取数据 URL,这是我的代码:
$(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" 记录到控制台的屏幕截图:
缩略图是异步生成的,这意味着当 addedfile
事件发出时 dataURL
还没有生成。生成缩略图时会发出 thumbnail
event,将 dataURL
值作为第二个参数传递。
你可以这样做:
dropzone.on('thumbnail', function(file, dataURL) {
document.getElementById('avatar').setAttribute('src', dataURL);
});