Как отправить изображение из хранилища Firebase в Microsoft Emotion API (Cognitive Service)
Я храню изображения, загруженные в приложение, в хранилище Firebase. Затем мне нужно получить изображение и отправить его в Cognitive Service Microsoft (API эмоций). Я попытался отправить URL-адрес загрузки изображения в API, но этого не произошло - это выдает ошибку 400. Как я могу отправить изображение из хранилища Firebase в Emotion API.
Ниже приведен код, который хранит загруженный файл в хранилище 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);
});
1 ответ
Решение
У вас есть два варианта:
- Поскольку у вас уже есть это под рукой, вы можете загрузить то же самое
blob
к API эмоций. Это означает, что вы будете загружать данные изображений дважды, один раз в Firebase и один раз в Microsoft. - Вы можете получить публичный URL для вашего элемента хранения. Это соответствующая документация. Обратите внимание, что вам может потребоваться настроить разрешение вашего хранилища для Cognitive Services для доступа к изображению.
Некоторая дополнительная информация здесь: Firebase Storage - получение URL изображения