Firebase存储-上载Blob Url
我有一个blob url,例如:Firebase存储-上载Blob Url,firebase,blob,firebase-storage,Firebase,Blob,Firebase Storage,我有一个blob url,例如: blob:http://localhost:4200/06a6baa9-b7ff-4171-9dc2-a1caed35e099 当进入 this.storage.ref('users/' + uid + '/mainPhoto').put(imageURL)) 我收到这个错误: Firebase存储:索引0处的put中的参数无效:应为Blob或文件 您需要从blob url上传blob, 然后将其上载到firebase存储 上传功能: uploadToS
blob:http://localhost:4200/06a6baa9-b7ff-4171-9dc2-a1caed35e099
当进入
this.storage.ref('users/' + uid + '/mainPhoto').put(imageURL))
我收到这个错误:
Firebase存储:索引0处的put
中的参数无效:应为Blob或文件
您需要从blob url上传blob, 然后将其上载到firebase存储 上传功能:
uploadToStorage = (imageURL) = >{
getFileBlob(imageURL, blob =>{
firebase.storage().ref().put(blob).then(function(snapshot) {
console.log('Uploaded a blob or file!');
})
})
}
var getFileBlob = function (url, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.responseType = "blob";
xhr.addEventListener('load', function() {
cb(xhr.response);
});
xhr.send();
};
getBlob函数:
uploadToStorage = (imageURL) = >{
getFileBlob(imageURL, blob =>{
firebase.storage().ref().put(blob).then(function(snapshot) {
console.log('Uploaded a blob or file!');
})
})
}
var getFileBlob = function (url, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.responseType = "blob";
xhr.addEventListener('load', function() {
cb(xhr.response);
});
xhr.send();
};
您需要从blob url上传blob, 然后将其上载到firebase存储 上传功能:
uploadToStorage = (imageURL) = >{
getFileBlob(imageURL, blob =>{
firebase.storage().ref().put(blob).then(function(snapshot) {
console.log('Uploaded a blob or file!');
})
})
}
var getFileBlob = function (url, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.responseType = "blob";
xhr.addEventListener('load', function() {
cb(xhr.response);
});
xhr.send();
};
getBlob函数:
uploadToStorage = (imageURL) = >{
getFileBlob(imageURL, blob =>{
firebase.storage().ref().put(blob).then(function(snapshot) {
console.log('Uploaded a blob or file!');
})
})
}
var getFileBlob = function (url, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.responseType = "blob";
xhr.addEventListener('load', function() {
cb(xhr.response);
});
xhr.send();
};
参考dan的解决方案,对上传功能进行了两次修改后,它对我有效:-
var uploadToStorage = (imageURL) => {
getFileBlob(imageURL, blob =>{
firebase.storage().ref().put(blob).then(function(snapshot) {
console.log('Uploaded a blob or file!');
})
})
}
参考dan的解决方案,对上传功能进行了两次修改后,它对我有效:-
var uploadToStorage = (imageURL) => {
getFileBlob(imageURL, blob =>{
firebase.storage().ref().put(blob).then(function(snapshot) {
console.log('Uploaded a blob or file!');
})
})
}
这是使用expo时的最佳解决方案。。由于某些原因,现在fetch无法工作..getFileBlob从何而来?这是使用expo时的最佳解决方案。。由于某些原因,现在fetch不起作用..getFileBlob来自哪里?