Ошибка хранения Firebase Cors сохраняется, несмотря на правильную конфигурацию GSUTIL и очистка кэшаJavascript

Форум по Javascript
Ответить
Anonymous
 Ошибка хранения Firebase Cors сохраняется, несмотря на правильную конфигурацию GSUTIL и очистка кэша

Сообщение Anonymous »

Я разрабатываю простое веб -приложение с помощью HTML и ванильного JavaScript. Приложение позволяет пользователям загружать изображение, которое затем отправляется в хранилище Firebase. Мое веб -приложение размещено по адресу https://esstsas.net .
Проблема:
Когда я пытаюсь загрузить изображение в свое ведро для хранения Firebase (

Код: Выделить всё

gs://checksst-faster.firebasestorage.app
), запрос снят сбой с ошибкой предварительной пролета Cors в консоли браузера:

Доступ к Xmlhttprequest at '...' from Origin 'https://esstsas.net' был заблокирован политикой Cors: Preflight. /> < /blockquote>
Это соответствующий код JavaScript, который обрабатывает загрузку изображения: < /strong> Я использую Firebase JS SDK (V11.6.1). Объект хранилища был правильно инициализирован.
javascript

Код: Выделить всё

// This function is called when the "Save" button is clicked
async function saveInspection() {
const file = lastSelectedFile; // lastSelectedFile is the user's selected image File object
const userId = auth.currentUser.uid;

if (!file || !userId) {
console.error("File or User ID is missing.");
return;
}

try {
console.log("Step 1: Resizing image...");
const resizedImageBlob = await resizeImage(file); // Resizes image to a Blob
console.log("Step 2: Uploading to Storage...");

const fileName = `${Date.now()}-${file.name}`;
const storageRef = ref(storage, `images/${userId}/${fileName}`);

// This is the line that fails
const uploadTask = await uploadBytes(storageRef, resizedImageBlob);

console.log("Step 3: Getting download URL...");
const downloadURL = await getDownloadURL(uploadTask.ref);

// ... code to save the downloadURL to Firestore would go here
console.log("Upload successful:", downloadURL);

} catch (error) {
console.error("DETAILED UPLOAD ERROR:", error);
}
}
Что я уже пробовал (шаги по устранению неполадок): [/b]
Я уверен, что это не простая ошибка конфигурации, потому что я выполнил обширную устранение неполадок:
  • coror мое ведро. Команда GSUTIL CORS GET GS: //checksst-faster.firebasestorage.app подтверждает, что политика правильно установлена ​​с помощью моего происхождения: [{"Origin": ["https://esstsas.net", "https://www.essts.net"], "Метод": "get", ",", ", варианты", ", варианты", ",", ", варианты"? ...}]
  • тест подстановочного знака: в качестве теста, я также применил политику подстановочного знака с «Origin»: ["*"] . Ошибка все еще сохранялась.
  • Кэширование на стороне клиента: я исключил кэширование браузера, выполняя твердое обновление (Ctrl+Shift+R), тестируя в режиме Incognito, используя совершенно разные брейузер и тестируя на различной сети (мобильный HotSpot). /> Правила Firebase: < /strong> мои правила безопасности Firestore и хранения правильно настроены, чтобы разрешить доступ для аутентифицированных пользователей (

    Код: Выделить всё

    allow read, write: if request.auth != null && request.auth.uid == userId;
    ).
Даже при конфигурации Cors на стороне сервера подтверждена как правильная и после устранения всех возможностей кэширования на стороне клиента, браузер все еще получает неудачный ответ предварительного выполнения. Я не могу создать официальный билет на облачную поддержку Google, так как я нахожусь в бесплатном плане.
Есть ли другие настройки на уровне проекта, проблема сети или известная ошибка, которая может быть переоценкой политики CORS в ведро?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ion-and-ca
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»