我已经开始在后端使用firebase(Firebase for web)了.我可以很好地处理Firebase实时数据库,但我不清楚Firebase存储(图像,视频等)的工作原理.
基本上我想在我的网站上有一些新闻列表,每个项目都有一些小图片.所以我将这些图片上传到Firebase存储,但是如何访问他们的URL(我的<img/>
src属性需要它)?
我想从Firebase存储中下载整个文件夹.单个文件可以通过如下获取DownloadURL来下载.但它对文件夹不起作用.
var storageRef = firebase.storage().ref();
// Create a reference to the file we want to download
var starsRef = storageRef.child(path);
// Get the download URL
starsRef.getDownloadURL().then(function(url) {
// Insert url into an <img> tag to "download"
ImageUrl = url;
console.log(ImageUrl);
}).catch(function(error) {
switch (error.code) {
case 'storage/object_not_found':
// File doesn't exist
break;
case 'storage/unauthorized':
// User doesn't have permission to access the object
break;
case 'storage/canceled':
// User canceled the upload
break;
case 'storage/unknown':
// Unknown error occurred, inspect the …
Run Code Online (Sandbox Code Playgroud) 现在我使用以下代码从Storage of Firebase获取图像:
mStoreRef.child("photos/" + model.getBase64Image())
.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
// Got the download URL for 'photos/profile.png'
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle any errors
Toast.makeTextthis, "image not dowloaded", Toast.LENGTH_SHORT).show();
}
});
Run Code Online (Sandbox Code Playgroud)
有可能获得图像中显示的URL .. ???
我正在探索Flutter,我发现在Flutter firebase_storage中有一个官方的Firebase存储插件 我有这样的存储引用:
final StorageReference ref = FirebaseStorage.instance.ref().child("default.png");
Run Code Online (Sandbox Code Playgroud)
但是没有办法从StorageReference获取下载URL.
我想使用 Node js 删除 firebase 存储中的文件夹,因为这是一个 firebase 函数。
例如 :
storageRef.child(child1).child(child2).delete();
Run Code Online (Sandbox Code Playgroud)
类似这样的东西,但 firebase 文档没有说明任何信息。
还有一个问题:当初始化存储文档时,节点js需要我的管理json,但实时数据库不需要这个奇怪的原因?
node.js firebase google-cloud-functions firebase-storage firebase-admin
我想从 Firebase 存储上传和下载图像并将其显示在RecyclerView
. 我可以一次上传和下载一张图片,但我不能上传和下载多张图片。
我怎样才能做到这一点?
我正在做这个 Android 项目,我需要帮助检索存储在 Firebase 存储中的所有 URL 并将它们全部显示在 imageview 中。给定代码的问题在于它只获取一个下载 url。我可以通过什么方式获取存储在 Firebase 中的所有图像的所有 URL。简而言之:在一项活动中,我将图像保存到 firebase 中,而在其他活动中,我想检索 Imageview 中的所有图像。我能以什么方式做到这一点?谢谢
if(requestCode== GALLERY_INTENT && resultCode== RESULT_OK)
{
mProgress.setMessage("Uploading....");
mProgress.show();
Uri uri =data.getData();
StorageReference filepath = mStorage.child("Photos").child(uri.getLastPathSegment());
filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
mProgress.dismiss();
Uri downloadUri = taskSnapshot.getDownloadUrl();
Picasso.with(MainActivity.this).load(downloadUri).fit().centerCrop().into(mImageView);
Toast.makeText(MainActivity.this,"Upload done",Toast.LENGTH_LONG).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this,"Upload failed",Toast.LENGTH_LONG).show();
}
});
}
Run Code Online (Sandbox Code Playgroud) 我在应用程序上安装了可与Firebase UI配合使用的图像,以便可以通过遵循文档https://firebase.google.com/docs/storage/ios/download-files轻松缓存它们
我的代码看起来像这样
guard let profileImageUrl = user?.url else { return }
profileImageView.sd_setImage(with: profileImageUrl)
Run Code Online (Sandbox Code Playgroud)
我正在覆盖图像位置以更新图像
let storageRef = Storage.storage().reference(withPath: "/users/\(uid)/profilePhoto.jpg")
storageRef.putData(uploadData, metadata: nil, completion: { (metadata, err) in
Run Code Online (Sandbox Code Playgroud)
如果我在没有缓存的新设备上浏览照片,它将显示新图像。但是,如果我在以前查看过的设备上转到该图像,则只能看到旧图像。
编辑:所以我知道缓存通过SDWebImage工作。我正在基于用户uid生成与SDWebImage一起使用的存储引用。因此,存储参考未更改,这引起了问题。
我最近收到此错误消息,不知道为什么。
获取 gs://example.appspot.com/images net::ERR_UNKNOWN_URL_SCHEME
以下是我对存储服务的引用:
var storage = firebase.storage();
var storageRef = storage.ref();
var storageRefImgs = storageRef.child('images');
Run Code Online (Sandbox Code Playgroud)
我有谷歌浏览器 51,我正在运行 Windows 10。
我已经将一些图像上传到firebase的存储空间,然后我需要在网站上显示所有这些图像.我从firebase上读过doc,但仍然无法找到显示所有图片的正确方法.所以,我的问题是,我的代码在哪里显示错误的单个图像?如何同时在网络上显示所有图像(我阅读了关于堆栈溢出的帖子,它可能需要获取所有图像的URL,因此,子问题是如何获取所有图像的URL)?顺便说一句,我的firebase的数据库是空的.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script src="https://www.gstatic.com/firebasejs/3.2.1/firebase.js"></script>
<script>
var config =
{
apiKey: "AIzaSyCKtgPuXUUqoyiwEm5sU3Blqc-A9xtBFsI",
authDomain: "cropped-images.firebaseapp.com",
databaseURL: "https://cropped-images.firebaseio.com",
storageBucket: "cropped-images.appspot.com",
};
firebase.initializeApp(config);
var storage = firebase.storage();
var storageRef = storage.ref();
var tangRef = storageRef.child('images/Tang.png');
tangRef.getDownloadURL().then(function(url)
{
var test = url
document.querySelector('img').src = test;
}).catch(function(error)
{
switch (error.code)
{
case 'storage/object_not_found':
break;
case 'storage/unauthorized':
break;
case 'storage/canceled':
break;
case 'storage/unknown':
break;
}
});
var test = 'firebase_url';
document.querySelector('img').src = test;
</script>
<img height="125" width="125"/>
</body>
</html> …
Run Code Online (Sandbox Code Playgroud) 我使用以下链接下载了一个使用存储在Firebase服务器中的图像的Unity项目:https: //zplayer360-86b30.firebaseapp.com
现在我想用我自己的文件重现这个.我使用Firebase控制台创建了一个Firebase项目,手动上传了图像,但现在我点击"复制文件夹网址"按钮,它只为我提供了这个链接:gs://insidehome-29c9e.appspot.com/
我需要一个免费的HTTP公共链接.我怎么能得到这个?
firebase ×11
firebase-storage ×11
android ×3
javascript ×2
node.js ×2
angularjs ×1
cordova ×1
dart ×1
flutter ×1
ios ×1
java ×1
sdwebimage ×1
swift ×1