• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 firebase storage에 이미지 업로드는 되는데 href 이동이 안되요

firebase storage에 이미지 업로드는 되는데 href 이동이 안되요

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #45784

    김민서
    참가자
    콘솔창
    storage에는 업로드가 되는데 index.html로 이동이 안되어서 콘솔창을 열어보니 권한이 부족하다고 자꾸 뜹니다..
    
    이렇게 했는데도 안되어서 구글 찾아보다가 로컬에 생성한 프로젝트 안에 storage.rules에도 규칙을 바꿔주라고 해서 똑같이
    바꿔줬는데요...
    rules_version = '2';
    service firebase.storage {
      match /b/{bucket}/o {
        match /{allPaths=**} {
          allow read, write: if true;
        }
      }
    }
    
    저만 안되는건지 답답하네요ㅠㅠ 아래는 upload.html 코드 입니다.ㅠ 도와주세요ㅠㅠ
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css">
        <link rel="stylesheet" href="./style.css">
    </head>
    <nav class="navbar navbar-expand-lg bg-light">
        <div class="container-fluid">
            사과마켓
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
                aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav">
                    <li class="nav-item">
                        Home
                    
                    <li class="nav-item">
                        Features
                    
                    <li class="nav-item">
                        Pricing
                    
                    <li class="nav-item">
                        Disabled
                    
                
            </div>
        </div>
    </nav>
    <div class="container mt-3">
        <input type="text" class="form-control mt-2" id="title" placeholder="title">
        <textarea class="form-control mt-2" id="content">content</textarea>
        <input type="text" class="form-control mt-2" id="price" placeholder="price">
        <input class="form-control mt-2" type="file" id="image">
        <button class="btn btn-danger mt-3" id="send">올리기</button>
    </div>
    <body>
        <script src="/__/firebase/8.6.5/firebase-app.js"></script>
        <!-- include only the Firebase features as you need -->
        <script src="/__/firebase/8.6.5/firebase-auth.js"></script>
        <script src="/__/firebase/8.6.5/firebase-firestore.js"></script>
        <script src="/__/firebase/8.6.5/firebase-storage.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js"></script>
        <script src="https://code.jquery.com/jquery-3.6.1.min.js"
            integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
        <script>
            // Your web app's Firebase configuration
            const firebaseConfig = {
                apiKey: "AIzaSyAjixL-LRxHMPf6DR3YSQeK2sYaYQa1ArI",
                authDomain: "dang-af36e.firebaseapp.com",
                projectId: "dang-af36e",
                storageBucket: "dang-af36e.appspot.com",
                messagingSenderId: "321110286941",
                appId: "1:321110286941:web:3c6544b30931f4c9eba3b4"
            };
            // Initialize Firebase
            firebase.initializeApp(firebaseConfig)        
        </script>
        <script>
            const db = firebase.firestore();
            let date = new Date().toDateString();
            const storage = firebase.storage();
            $('#send').click(function () {
                var file = document.querySelector('#image').files[0];
                var storageRef = storage.ref();
                var 저장할경로 = storageRef.child('image/' + file.name);
                var 업로드작업 = 저장할경로.put(file);
                
                업로드작업.on('state_changed',
                    // 변화시 동작하는 함수 
                    null,
                    //에러시 동작하는 함수
                    (error) => {
                        console.error('실패사유는', error);
                    },
                    // 성공시 동작하는 함수
                    () => {
                        업로드작업.snapshot.ref.getDownloadURL().then((url) => {
                            console.log('업로드된 경로는', url);
                        });
                    }
                );
                var 저장할거 = {
                    제목: $('#title').val(),
                    날짜: date,
                    내용: $('#content').val(),
                    가격: parseInt($('#price').val()),
                }
                db.collection('product').add(저장할거).then((result) => {
                    window.location.href = '/index.html'
                }).catch((err) => {
                    console.log(err)
                })
            })
        </script>
    </body>
    </html>
    
    
    
    #45827

    김민서
    참가자
    해결 했습니다. 왜인지 모르겠는데 firestore Database 쪽이 false로 바껴져 있었네요... true로 다시 수정하니 해결했습니다...
    이틀동안 뭐했는지 모르겠네요ㅠㅠ
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠