私がしたいのは、反応ネイティブカメラを使用して撮影した写真を反応ネイティブフェッチブロブでファイアベースストレージにアップロードすることです。起こらない。カメラで撮ったイメージをファクトベースストレージに保存する。
私が見つけることができるすべての文書を辿り、何も動作していないようです。
これを達成するためのシステムがあれば誰でも回答として投稿してください。私は反応したネイティブカメラが返すjpgのURIを得ることができます(それはImageViewとすべてに表示されます)。しかし、アップロード機能は、ブロブを配置するときには動作を停止するようです。
私の現在の機能:
uploadImage = (uri, imageName, mime = 'image/jpg') => {
return new Promise((resolve, reject) => {
const uploadUri = Platform.OS === 'ios' ? uri.replace('file://', '') : uri
let uploadBlob = null
const imageRef = firebase.storage().ref('selfies').child(imageName)
console.log("uploadUri",uploadUri)
fs.readFile(uploadUri, 'base64').then((data) => {
console.log("MADE DATA")
var blobEvent = new Blob(data, 'image/jpg;base64')
var blob = null
blobEvent.onCreated(genBlob => {
console.log("CREATED BLOB EVENT")
blob = genBlob
firebase.storage().ref('selfies').child(imageName).put(blob).then(function(snapshot) {
console.log('Uploaded a blob or file!');
firebase.database().ref("selfies/" + firebase.auth().currentUser.uid).set(0)
var updates = {};
updates["https://stackoverflow.com/users/" + firebase.auth().currentUser.uid + "/signup/"] = 1;
firebase.database().ref().update(updates);
});
}, (error) => {
console.log('Upload Error: ' + error)
alert(error)
},() => {
console.log('Completed upload: ' + uploadTask.snapshot.downloadURL)
})
})
}).catch((error) => {
alert(error)
})
}
私は可能な限り効率的にしたい、それが高速ですし、BASE64に変更しないように、より少ないメモリを取るならば、私はそれを好みます。今私はちょうどこの作品を作る方法の手がかりがありません。
これは私の人生におけるストレスの大きな原因であり、誰かがこれを理解してくれることを願っています。