3

当我将图像作为 blob 上传到 Firebase 存储时,我在 Firefox 和 Chrome 中收到 Uncaught [object Object] 错误,但在 Edge 中没有。当我使用下面从 Firebase 站点提取的代码示例时,我得到了错误。表示状态正在运行,进度为 0%。它昨晚还在工作,任何更改都已恢复为工作版本。

var uploadImg = storage.ref().child('images/' + user.uid + '/savedProducts/blah').put(savedImg);
                uploadImg.on(firebase.storage.TaskEvent.STATE_CHANGED, // or 'state_changed'
                function(snapshot) {
                    // Get task progress, including the number of bytes uploaded and the total number of bytes to be uploaded
                    var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
                    console.log('Upload is ' + progress + '% done');
                    switch (snapshot.state) {
                        case firebase.storage.TaskState.PAUSED: // or 'paused'
                            console.log('Upload is paused');
                            break;
                        case firebase.storage.TaskState.RUNNING: // or 'running'
                            console.log('Upload is running');
                            break;
                    }
                },
                function (error) {
                    switch (error.code) {
                        case 'storage/unauthorized':
                            // User doesn't have permission to access the object
                            break;

                        case 'storage/canceled':
                            // User canceled the upload
                            break;

                    case 'storage/unknown':
                    // Unknown error occurred, inspect error.serverResponse
                    break;
                    }
                },
                function () {
                    // Upload completed successfully, now we can get the download URL
                    var downloadURL = uploadTask.snapshot.downloadURL;
                });
4

1 回答 1

1

这是一个迟到的答案,但仍然。我希望这可以帮助人们。

当您尝试将 blob 上传到存储时,您使用了该方法

storage.ref().child('images/' + user.uid + '/savedProducts/blah').put(savedImg);

就我而言,为了将 blob 放入 firebase 存储,我需要使用方法putString(saveImage, 'data_url'). 是'data_url格式。

完整代码

storage.ref().child('images/' + user.uid + '/savedProducts/blah').putString(saveImage, 'data_url');

于 2019-12-26T08:17:11.203 回答