0

firebaseのストレージにアプリケーションにアップロードされた画像を保存しています。その後、画像を取得してMicrosoftのCognitive Service(emotion API)に送信する必要があります。私はAPIのイメージのダウンロードURLを送信しようとしましたが、それは取ることはありません - それは私に400エラーを与える。 FirebaseストレージからEmotion APIに画像を送信するにはどうすればいいですか?firebase storageからMicrosoft Emotion API(Cognitive Service)に画像を送信する方法

以下は、アップロードされたファイルをfirebaseストレージに保存するコードです。このコードスニペットの最後にコードを続行する必要があります。

download_photo_btn.addEventListener("click", function(e) { 
    var user = firebase.auth().currentUser; 
    var uid; 

    if (user != null) { 
    uid = user.uid; // The user's ID, unique to the Firebase project. Do NOT use 
        // this value to authenticate with your backend server, if 
        // you have one. Use User.getToken() instead. 
    } 
    var snap = takeSnapshot(); 
    var blob = dataURItoBlob(snap); 

    // Create a root reference 
    var storageRef = firebase.storage().ref(); 

    // Initial UID for images 
    var selfieID = 0; 

    // Create a reference to 'mountains.jpg' 
    var selfieRef = storageRef.child(uid + '-' + selfieID++ + '.png'); 

    // Create a reference to 'images/mountains.jpg' 
    var selfieImagesRef = storageRef.child('/selfies/' + uid + '-' + selfieID++ + '.png'); 


    // While the file names are the same, the references point to different files 
    selfieRef.name === selfieImagesRef.name   // true 
    selfieRef.fullPath === selfieImagesRef.fullPath // false 

    // send image file to firebase storage 
    var file = blob; 
    var uploadTask = selfieImagesRef.put(file); 
    }); 

答えて

0

次の2つのオプションがあります。

  • あなたはすでにそれが手元にあるので、あなたは感情APIに同じblobをアップロードすることができます。これは、イメージデータを2回、Firebaseに1回、Microsoftに1回アップロードすることを意味します。
  • ストレージアイテムのパブリックURLを取得できます。 Thisは関連ドキュメントです。認知サービスが画像にアクセスするには、ストレージのadjust the permissionが必要な場合があります。

ここにいくつかの追加情報:firebase storage - getting image URL

関連する問題