4 글 보임 - 1 에서 4 까지 (총 4 중에서)
-
글쓴이글
-
2023년 8월 16일 16:48 #94831
채민석참가자(강의에 '저장할꺼'는 animal로 이름설정하였습니다)
var animal = { 이름: $('#name').val(), 종: $('#species').val(), 성별: $('#gender').val(), 생년: $('#birth').val(),
이미지: url, }; db.collection('product') .add(animal) .then((result) => { console.log(result.id); //성공 console.log(animal); window.location.href = 'index.html'; }) .catch((error) => { //실패 console.log(error); }); 구문을 animal 안 이미지 url을 넣기 위해서 아래 구문 안에다가 붙이는
storageUpload.snapshot.ref .getDownloadURL() .then((url) => {
부분을 똑같이 실행하였는데 그렇게되면 firestore 와 storage에 아무것도 저장이 되지 않는 것같습니다
이 과정 전에는 잘 저장이 되었습니다. 혹시 코드오류가 있을 수 있으니 script부분 보냅니다.
<script> const db = firebase.firestore(); const storage = firebase.storage();
console.log(new Date()); $('#send').click(function () { var file = document.querySelector('#image').files[0]; var storageRef = storage.ref(); var storageSavePath = storageRef.child('image/' + file.name); var storageUpload = storageSavePath.put(file); storageUpload.on( 'state_changed', // 변화시 동작하는 함수 null, //에러시 동작하는 함수 (error) => { console.error('실패사유는', error); }, // 성공시 동작하는 함수 () => { storageUpload.snapshot.ref .getDownloadURL() .then((url) => { console.log('업로드된 경로는', url); var animal = { 이름: $('#name').val(), 종: $('#species').val(), 성별: $('#gender').val(), 생년: $('#birth').val(),
이미지: url, }; db.collection('product') .add(animal) .then((result) => { console.log(result.id); //성공 console.log(animal); window.location.href = 'index.html'; }) .catch((error) => { //실패 console.log(error); }); }); } );
// $(`input`).val(''); });
</script>
console에도 아무런 error가 없네요ㅠㅠㅠ
2023년 8월 16일 18:21 #94842
채민석참가자해결 했습니다. input 을 감싸는 div태그가 아닌 form태그로 바꿔서 upload html input들이 requrired하게 적용시키려고 해서
위에같은 오류가 발생한 것 같습니다.
2023년 8월 16일 18:26 #94844
채민석참가자혹시 맨위에 해결한 질문과는 별개로 혹시 왜 form으로 해서 input required를 주었을 때 데이터들이 저장이 안되는지 알 수 있을까요?
<form id="register-form" type="submit" class="container mt-3"> <input required type="text" class="form-control mt-2" id="name" placeholder="이름" /> <!-- <textarea class="form-control mt-2" id="content">content</textarea> --> <input required type="text" class="form-control mt-2" id="species" placeholder="종" /> <input required type="text" class="form-control mt-2" id="gender" placeholder="성별" /> <input required type="text" class="form-control mt-2" id="birth" placeholder="생년월일 ex:1999/07/06" /> <input required class="form-control mt-2" type="file" id="image" /> <button type="submit" class="btn btn-danger mt-3" id="send"> 등록 </button> </form> 이렇게 input들 required적용을 위해 div를 form으로만 바꿨습니다
2023년 8월 16일 19:54 #94858
codingapple키 마스터폼전송시켜버리면 이미지 업로드가 되기도 전에 새로고침되어서 그런가봅니다 type="submit"도 뭔가 이상합니다
-
글쓴이글
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
- 답변은 로그인 후 가능합니다.