【问题标题】:error 400 when accessing firebase storage trying to get file url访问 Firebase 存储尝试获取文件 url 时出现错误 400
【发布时间】:2017-07-01 08:08:15
【问题描述】:

我正在尝试 ionic 和 firebase 平台,但遇到了问题。

所以我在尝试访问的存储中有一个图像,我尝试使用 getDownloadURL() 方法,但我不断收到错误 400,“无效的 http 方法/url 对”。我找不到任何解决方案。尝试使用 getMetadata() 时出现同样的错误。

firebase 已初始化,目前一切正常,包括身份验证、数据库读取等。除了这个错误...

我在服务中有以下代码..

// Get a reference to the storage service, which is used to create references in your storage bucket
var storage = firebase.storage();

// Create a storage reference from our storage service
var storageRef = storage.ref();

// Create a child reference
var imagesRef = storageRef.child('images');
// imagesRef now points to 'images'

return {
    getImgRef: function (imgName) {
        var imgRef = imagesRef.child('Tanker.ico')
        imgRef.getDownloadURL().then(function (url) {
            return url
        }).catch(function(error) {
            switch (error.code) {
                case 'storage/object_not_found':
                    // File doesn't exist
                    break;

                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 the server response
                    break;
            }
        });

    }
}

在 getDownloadURL() 之前一切顺利,如果我尝试 getMetadata() 也是如此。

对这个问题有帮助吗?

【问题讨论】:

    标签: javascript firebase ionic-framework firebase-storage


    【解决方案1】:

    【讨论】:

    • 很好的回答阿比德,谢谢。
    【解决方案2】:

    尝试使用如下图的完整路径

    // Get a reference to the storage service, which is used to create references in your storage bucket
        var storage = firebase.storage();
    
        // Create a storage reference from our storage service
        var storageRef = storage.ref();
    
        // Create a child reference
        var imagesRef = storageRef.child('images/Tanker.ico');
        // imagesRef now points to 'images'
    
        return {
            getImgRef: function (imgName) {
                //var imgRef = imagesRef.child('Tanker.ico')
                imagesRef.getDownloadURL().then(function (url) {
                    return url
                }).catch(function(error) {
                    switch (error.code) {
                        case 'storage/object_not_found':
                            // File doesn't exist
                            break;
    
                        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 the server response
                            break;
                    }
                });
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 2019-03-15
      • 1970-01-01
      • 2020-07-09
      • 2017-01-11
      • 2022-11-21
      • 2017-04-25
      • 1970-01-01
      • 2015-12-08
      相关资源
      最近更新 更多