firebase 데이터베이스에는 경로가 변경되었을 때 데이터를 다시 검색 할 수있는 기능이 있습니다.
firebase.database().ref('users/' + Auth.uid + '/profileImg').on('value', function(snapshot) { //do things when the data changed});
firebase 스토리지가 동일한 작업을 수행하는지 아는 사람이 있는지 궁금합니다. 예를 들어 다른 프로필 사진을 업로드하는 경우 해당 imageUrl을 어떻게 검색 할 수 있습니까?
아래 방법으로 검색 할 수 있다는 것을 이해하지만 업로드 장소와 동일한 컨트롤러에 있지 않은 다른 컨트롤러의 변경 사항을 감지하고 싶기 때문에이 방법이 작동하지 않습니다.
uploadTask.on('state_changed', function (snapshot) {
// Observe state change events such as progress, pause, and resume
// See below for more detail
}, function (error) {
// Handle unsuccessful uploads
}, function () {
$scope.userProfile = uploadTask.snapshot.downloadURL;
});
}, function (error) {
console.error(error);
});
감사합니다!!
Firebase 저장소에는 파일이 변경 될 때 사전에 클라이언트에게 알리는 기능이 내장되어 있지 않습니다.
이는 Firebase 저장소와 Firebase 실시간 데이터베이스를 결합하여 쉽게 구축 할 수있는 것입니다. 파일의 downloadURL을 데이터베이스에 유지하고 lastModified
타임 스탬프를 추가합니다 .
images
$imageid
downloadUrl: "https://downloadUrl"
lastModified: 123873278327
Firebase 저장소에서 이미지를 업로드 / 업데이트 할 때마다 데이터베이스에서 downloadUrl / timestamp를 업데이트합니다.
uploadTask.on('state_changed', function (snapshot) {
// Observe state change events such as progress, pause, and resume
// See below for more detail
}, function (error) {
// Handle unsuccessful uploads
}, function () {
$scope.userProfile = uploadTask.snapshot.downloadURL;
databaseRef.child('images').child(imageId).set({
downloadUrl: uploadTask.snapshot.downloadURL,
lastModified: firebase.database.ServerValue.TIMESTAMP
})
});
이제 해당 이미지의 데이터베이스 위치를 수신하여 이미지가 수정 된시기를 알 수 있습니다.
databaseRef.child('images').child(imageId).on('value', function(snapshot) {
// take the downloadUrl from the snapshot and update the UI
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다