Angularjs 使用angularfire/angularfire更改submit infirebase上存储图像的url
我终于成功地将上传到存储的功能完美地应用到运行Angularfire和Angularfire的firebase存储中。我开始变得有棱角了Angularjs 使用angularfire/angularfire更改submit infirebase上存储图像的url,angularjs,firebase,firebase-realtime-database,angularfire,firebase-storage,Angularjs,Firebase,Firebase Realtime Database,Angularfire,Firebase Storage,我终于成功地将上传到存储的功能完美地应用到运行Angularfire和Angularfire的firebase存储中。我开始变得有棱角了 console.log(downloadURL); 为此,我使用该表格: <form ng-submit="uploadFile(file)"> <input type="file" accept="txt" file-model="file" class="form-control"> <button type="submit
console.log(downloadURL);
为此,我使用该表格:
<form ng-submit="uploadFile(file)">
<input type="file" accept="txt" file-model="file" class="form-control">
<button type="submit" class="btn btn-primary">Upload File</button>
console.log(downloadURL);
我补充说
console.log(downloadURL);
在我的DownloadUrl变量中,我可以看到正在上载的fie的url在控制台中显示良好
console.log(downloadURL);
但是,我希望数据库中的url也能更新
console.log(downloadURL);
例如:
console.log(downloadURL);
我在表单下方添加了一个输入,其中存储文件路径正在从数据库中显示(工作正常):
console.log(downloadURL);
我喜欢的是,当我提交要上传的文件时,用刚刚上传的新文件的下载URL更新表单下方的输入
console.log(downloadURL);
如何做到这一点
console.log(downloadURL);
非常感谢大家的帮助
console.log(downloadURL);
---编辑:
console.log(downloadURL);
可以使用下面的代码:
console.log(downloadURL);
app.controller('myController', ['$scope','$firebaseStorage',function($scope, $firebaseStorage) {
// Create a Firebase Storage reference
var storage = firebase.storage();
var firebaseRef = firebase.database().ref().child('posts')
var storageRef = storage.ref();
var filesRef = storageRef.child('files');
$scope.uploadFile = function(file) {
console.log("Let's upload a file!");
console.log($scope.file);
var storageRef = firebase.storage().ref().child(file.name).put(file);
storageRef.on('state_changed', function(snapshot) {
var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
}, function() {
//handle error
}, function() {
//url of storage file
var downloadURL = storageRef .snapshot.downloadURL;
firebaseRef.update({'test':downloadURL})
console.log(downloadURL);
});
};
}]);
它创建了它,但在我的数据库的错误表中:
console.log(downloadURL);
--mydomain
----posts
--------POST LIST1
------------author
------------imageDetails ( THIS is where it should update the url)
--------CURRENT URL ( This is wehre it is save at the moment)
----users
--------name
--------email
--------id
所以我试着替换
console.log(downloadURL);
firebaseRef.update({'test':downloadURL})
借
console.log(downloadURL);
但是没有运气。。。有人有解决办法吗
console.log(downloadURL);
谢谢@
console.log(downloadURL);
app.controller('myController', ['$scope','$firebaseStorage',function($scope, $firebaseStorage) {
// Create a Firebase Storage reference
var storage = firebase.storage();
var firebaseRef = firebase.database().ref().child('posts')
var storageRef = storage.ref();
var filesRef = storageRef.child('files');
$scope.uploadFile = function(file) {
console.log("Let's upload a file!");
console.log($scope.file);
var storageRef = firebase.storage().ref().child(file.name).put(file);
storageRef.on('state_changed', function(snapshot) {
var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
}, function() {
//handle error
}, function() {
//url of storage file
var downloadURL = storageRef .snapshot.downloadURL;
// $scope.group.imageDetails = downloadURL;
firebaseRef.update({'url':downloadURL})
console.log(downloadURL);
});
};
}]);
它将上传数据库帖子中的url
console.log(downloadURL);
app.controller("VideosCtrl", function($scope, $firebaseObject) {
var ref = firebase.database().ref().child("posts");
ref.on('value',function(snapshot){
console.log(snapshot.val().url);
$scope.groups = snapshot.val().url;
});
});
HTML:
console.log(downloadURL);
上载文件