2017-02-01 7 views
1

WebベースのSDKを使用してFirebase Storageにイメージを保存しました。ファイルがアップロードされますが、ダウンロードURLFirebase Storage Putがオブジェクトを取得できませんでした

code:"storage/object-not-found" 
message:"Firebase Storage: Object 'rainbow_photos/daniel.jpg' does not exist." 
name:"FirebaseError" 
serverResponse:"{↵ "error": {↵ "code": 404,↵ "message": "Not Found. Could not get object"↵ }↵}" 

を取得しようとしたとき、次のメッセージを取得しておく。しかし、ファイルdaniel.jpgはrainbow_photosフォルダに格納されますない。受けるん

は、ここでは、ファイルを入れている方法は次のとおりです。

rainbowPhotoUploader.addEventListener('change', function(e){ 
    //Get file 
    var file = e.target.files[0]; 
    //Create a storage ref 
    var storageRef = firebase.storage().ref('rainbow_photos/' + file.name); 
    //Upload file 
    storageRef.put(file); 
    //Get URL and store to pass 
    storageRef.getDownloadURL().then(function(result){ 
     $('#rainbowPhotoURL').val(result); 
    }); 
    }); 

答えて

2

オースティンが言った基本的に何を、我々はスマートだ(私たちは、私を信頼!)そして我々は、ダウンロードURLを返します以外アップロード後に約束しますので、2回目の取得は不要です:

rainbowPhotoUploader.addEventListener('change', function(e){ 
    //Get file 
    var file = e.target.files[0]; 
    //Create a storage ref 
    var storageRef = firebase.storage().ref('rainbow_photos/' + file.name); 
    //Upload file 
    storageRef.put(file).then(function(snapshot){ 
    $('#rainbowPhotoURL').val(snapshot.downloadURL); 
    }); 
}); 
1

あなたはすぐにアップロードした後、ダウンロードリンクを取得している、そしてそれはまだ終わっていません。

それがアップロード完了だ後にリンクを取得するには、この操作を行います:

rainbowPhotoUploader.addEventListener('change', function(e){ 
//Get file 
var file = e.target.files[0]; 
//Create a storage ref 
var storageRef = firebase.storage().ref('rainbow_photos/' + file.name); 
//Upload file 
storageRef.put(file).then(function(result){ 
    //Get URL and store to pass 
    storageRef.getDownloadURL().then(function(result){ 
     $('#rainbowPhotoURL').val(result); 
    }); 
}); 
}); 
関連する問題