Получить URL-адрес изображения из Firebase - PullRequest
0 голосов
/ 29 марта 2019

Я загружаю изображение в firebase, а затем пытаюсь получить URL, как только загрузка будет завершена, но я получаю эту ошибку.

[Error] Error uploading image:  – TypeError: undefined is not an object (evaluating 'snapshot.storageRef.getDownloadURL') — speakers.js:150
TypeError: undefined is not an object (evaluating 'snapshot.storageRef.getDownloadURL') — speakers.js:150
    (anonymous function) (speakers.js:161)
    promiseReactionJob

Изображение загружается просто отлично, но я не получаю URL.

var storageRef = firebase.storage().ref();

function uploadPhoto() {
    if (selectedFile != null) {
        var filePath = "Speaker Images/" + selectedFile.name + Date.now();
        var upload = storageRef.child(filePath).put(selectedFile).then(function(snapshot) {
            snapshot.storageRef.getDownloadURL().then(function(downloadUrl) {
                console.log(downloadUrl);
                uploadImageUrl = downloadUrl;
                if (docId != null) {
                    updateSpeaker();
                } else {
                    createNewSpeaker();
                }
            });
        })
        .catch(function(error) {
            console.error("Error uploading image: ", error);
        });
    } else {
        if (docId != null) {
            updateSpeaker();
        } else {
            createNewSpeaker();
        }
    }
}

Снимок выглядит нормально.

[Log] Ee {bytesTransferred: 30255, totalBytes: 30255, state: "success", metadata: Object, task: e, …} (speakers.js, line 150)

1 Ответ

2 голосов
/ 29 марта 2019

Переменная snapshot имеет тип UploadTaskSnapshot, который не имеет дочернего элемента storageRef.Вы, вероятно, ищете snapshot.ref:

snapshot.ref.getDownloadURL().then(function(downloadUrl) {
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...