Проблемы с s3 CORB в js-скриптах с использованием URL-адресов изображений
По сути, мы генерируем файл через API, который хранится на s3, и когда я использую js, в vuejs с Laravel, если я обновляю src или url фонового изображения ИЛИ даже просто перезагружаю страницу с помощью js, location.reload (true) Я получаю блокировку CORB и 4xx ошибок и нет изображения. Но если я обновляю страницу вручную, она всегда работает.
Я попробовал несколько вещей, найденных на SO и других, но ничего не работает надежно.
Например, в моем компоненте vue, делающем это:
if (notification.type == '<my file ready notification>') {
setTimeout(function(){location.reload(true);}, 10000);
}
На мой взгляд лезвие делает это:
@if($item->file)
<div style="background-image: url('{{$item->file_url}}');">
</div>
@endif
Что работает честно, но должен быть лучший способ. Если я уменьшу или уменьшу тайм-аут, то он будет меньше, чем меньше времени, и почти никогда не показывает изображение, если нет тайм-аута.
Я пытался при получении уведомления динамически устанавливать URL с помощью jquery, или просто как: стиль для фона, как даже тег img:src, но снова получаю ошибки в консоли js:
Блокировка перекрестного чтения (CORB) заблокировала перекрестный ответ https://s3.us-west-2.amazonaws.com/ с приложением MIME-типа /xml.
Например, у меня всегда возникает проблема с CORB, если я пытаюсь что-то вроде:
if (notification.type == 'file created notification') {
$('#fileDiv').css("background-image", "url(" + self.item.file_url + ")");
}