2 글 보임 - 1 에서 2 까지 (총 2 중에서)
-
글쓴이글
-
2022년 9월 8일 12:01 #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>
-
글쓴이글
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
- 답변은 로그인 후 가능합니다.