标签: firebase-storage

Firebase令牌身份验证错误

我正在使用firebase存储来上传文件,但是当我上传时,我收到了这个错误

E/StorageUtil: error getting token java.util.concurrent.ExecutionException: com.google.android.gms.internal.zzand: Please sign in before trying to get a token.
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索但无法得到答案!我已经登录了firebase.

android firebase firebase-realtime-database firebase-storage

12
推荐指数
2
解决办法
1万
查看次数

Firebase 存储覆盖文件

我的程序中有一个小错误。

我的应用程序中有 firebase 存储。我想让用户将图像上传到存储。

问题是当用户上传图像然后尝试上传另一张图像时。该程序会覆盖之前上传的图像。

我想要的是当用户想要上传另一张图像时避免“覆盖”。并将两个图像保存在不同的文件中

let currentUser = Auth.auth().currentUser
    let StorageRefrenece = Storage.storage().reference()
    let posterImageRef =
        StorageRefrenece.child("posters").child(currentUser!.uid).child("posterOne.jpg")
Run Code Online (Sandbox Code Playgroud)

谢谢

firebase swift firebase-storage

12
推荐指数
1
解决办法
8563
查看次数

在恶意网络条件iOS中,Firebase存储上传失败

火力地堡存储声称这里的iOS版的文件,它

无论网络质量如何,都会执行上传和下载.上传和下载非常强大,这意味着它们会在停止的地方重新启动

所以人们会期望它在上传时处理连接丢失,但似乎没有.

使用iOS中的以下Swift代码,我可以在有连接时执行上传,但如果设备没有连接或者它与网络断开连接,则会进入故障状态.

let storage = FIRStorage.storage().referenceForURL("VALID_URL_REMOVED")

let imagesRef = storage.child("images/test.jpg")

let data = UIImageJPEGRepresentation(observationImage!, 0.7);

let uploadTask = imagesRef.putData(data!, metadata: nil)

uploadTask.observeStatus(.Progress) { snapshot in
    // Upload reported progress
    if let progress = snapshot.progress {
        let percentComplete = 100.0 * Double(progress.completedUnitCount) / Double(progress.totalUnitCount)
        print("percent \(percentComplete)")
    }
}

uploadTask.observeStatus(.Success) { snapshot in
    // Upload completed successfully
    print("success")
}

uploadTask.observeStatus(.Failure) { snapshot in
    print("error")
    print(snapshot.error?.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)

此代码的调试输出如下.

/*
percent 0.0
percent 0.0044084949781492
2016-06-30 11:49:16.480 Removed[5020:] <FIRAnalytics/DEBUG> Network status …
Run Code Online (Sandbox Code Playgroud)

ios swift firebase-storage

11
推荐指数
1
解决办法
976
查看次数

传送公共图像时Firebase存储速度较慢

我正在使用firebase存储来上传头像(original.jpg).在node.js后台进程中,我使用gm调整它们的大小,然后将它们放回我的firebase存储桶中.这些图片是公开可读的,请参阅我的存储规则:

service firebase.storage {
  match /b/xxx.appspot.com/o {
    match /images {
      match /{allImages=**} {
        allow read;
      }
      match /{userId}/avatar/original.jpg {
        allow write: if request.auth.uid == userId;
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我将图像的url存储在firebase数据库中:

https://firebasestorage.googleapis.com/v0/b/xxx.appspot.com/o/images%2Fyyy%2Favatar%2Fzzz-small.jpg?alt=media
Run Code Online (Sandbox Code Playgroud)

我在文件上传后立即检索到了(web sdk)var downloadURL = uploadTask.snapshot.downloadURL;; 剥离令牌参数,因为它将被公开; 并且zzz-small.jpg已经取代了original.jpg.

它工作,图片显示.

但即使图片是40x40px jpg,它也很慢.在实际下载文件之前它会挂起一段时间,请参阅Chrome网络记录:

Chrome网络记录

文件是158B,在下载之前还有〜1s等待~3ms ...

firebase存储应该和CDN一样快吗?有没有更快的方法来调用公共可读文件?

[编辑]从Firebase支持获得一些反馈:

我们肯定知道很多用户,例如你自己,在从欧洲下载文件的速度很慢时遇到了问题.我们正在探索可能的解决方案,但我目前无法分享任何细节或时间表.我们会继续考虑您的反馈意见.

如有任何进一步的更新,请留意我们的发行说明.

我忘了提到我在欧洲和美国的存储.

firebase firebase-storage

11
推荐指数
0
解决办法
1174
查看次数

在RecyclerView中显示firebase存储映像

您好我之前询问过有关使用Firebase数据库中的Base64显示图像的问题.建议使用firebase存储.我重新编写了代码,所有内容都加载到firebase存储和数据库中.我遇到的问题是当我保存数据时,没有任何内容填充到我的recyclerview中.一切都是空白的.

你可以提供给我这个工作的任何帮助都会很棒.谢谢.

编辑:在我的活动类中,我调用一个按钮clicklistener来激活相机.拍摄照片后,它将保存到Firebase存储.然后我从存储中下载图像并将其显示在recyclerview中.我理解上传部分,但我很难理解下载和显示部分.谢谢.

viewholder:绑定方法

public void bind (ImageProgress progress){

    Glide.with(activity).load("").into(image);
 }
}
Run Code Online (Sandbox Code Playgroud)

适配器

  @Override
public ProgressViewHolder onCreateViewHolder(ViewGroup parent, int viewType){
    return new ProgressViewHolder(activity, activity.getLayoutInflater().inflate(R.layout.weight_progress_list, parent, false));
Run Code Online (Sandbox Code Playgroud)

主要活动课

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.weight_progress);

    saveButton = (Button) findViewById(R.id.saveButton);
    progressStatusEditText = (EditText) findViewById(R.id.progressStatusEditText);
    progressList = (RecyclerView) findViewById(R.id.progressList);
    mImageButton = (ImageButton) findViewById(R.id.takePictureButton);
    capturedImage=(ImageView)findViewById(R.id.capturedImageView);

    LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    progressList.setHasFixedSize(false);
    progressList.setLayoutManager(layoutManager);

    //take picture button
    mImageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            openCamera();
        }
    });


    mDatabaseReference = database.getReference("Progress");

    saveButton.setOnClickListener(new View.OnClickListener() { …
Run Code Online (Sandbox Code Playgroud)

android firebase android-recyclerview firebase-storage

11
推荐指数
1
解决办法
1万
查看次数

如何将多个文件上传到Firebase?

有没有办法将多个文件上传到Firebase存储.它可以在单次尝试中上传单个文件,如下所示.

fileButton.addEventListener('change', function(e){ 
//Get file
var file = e.target.files[0];

//Create storage reference
var storageRef = firebase.storage().ref(DirectryPath+"/"+file.name);

//Upload file
var task = storageRef.put(file);

//Update progress bar
  task.on('state_changed',
    function progress(snapshot){

        var percentage = snapshot.bytesTransferred / snapshot.totalBytes * 100;
        uploader.value = percentage;
    },
    function error(err){

    },
    function complete(){
        var downloadURL = task.snapshot.downloadURL;

    }
  );

});
Run Code Online (Sandbox Code Playgroud)

如何将多个文件上传到Firebase存储.

javascript firebase firebase-storage

11
推荐指数
3
解决办法
2万
查看次数

如何从Android应用程序检查Firebase存储中是否存在文件?

我正在开发用户单击图像的android应用程序,它存储在firebase中,云函数处理此图像并以文本文件的形式将输出存储在firebase中.为了在android中显示输出,应用程序会一直检查输出文件是否存在.如果是,则它在应用程序中显示输出.如果不是,我必须等待文件,直到它可用.

我无法找到任何文档来检查Firebase中是否存在任何文件.任何帮助或指示都会有所帮助.

谢谢.

android firebase firebase-storage

11
推荐指数
2
解决办法
1万
查看次数

将图像存储在Firebase存储中并在Firebase Cloud Firestore(Beta)中保存元数据

我正在尝试将图像上传到Firebase存储,并将多个特定元数据保存到Firebase Cloud.我用JavaScript编写代码.

目标是将自定义元数据设置为Firebase Cloud,例如从用户必须填写的文本输入字段.

这就是我将图像存储到Firebase存储的方式:

storageRef.child('images/' + file.name).put(file, metadata).then(function(snapshot) {
        console.log('Uploaded', snapshot.totalBytes, 'bytes.');
        console.log(snapshot.metadata);
        var url = snapshot.downloadURL;
        console.log('File available at', url);
        // [START_EXCLUDE]
        document.getElementById('linkbox').innerHTML = '<a href="' +  url + '">Click For File</a>';
        // [END_EXCLUDE]
      }).catch(function(error) {
        // [START onfailure]
        console.error('Upload failed:', error);
        // [END onfailure]
      });
      // [END oncomplete]
    }
Run Code Online (Sandbox Code Playgroud)

我不知道如何在上传功能中集成另一项任务来将元数据写入Firebase Cloud.任何帮助将不胜感激!

@eykjs @Sam Storie:谢谢你的帮助.我改变了我的代码.现在,有一个错误,我无法弄清楚,什么是错的.错误:TypeError:undefined不是对象(评估'selectedFile.name')

我的代码:

var selectedFile;

function handleFileSelect(event) {
	//$(".upload-group").show();
	selectedFile = event.target.files[0];
};

function confirmUpload() {
	var metadata = {
		contentType: 'image',
		customMetadata: {
			'dogType': …
Run Code Online (Sandbox Code Playgroud)

javascript metadata firebase firebase-storage google-cloud-firestore

11
推荐指数
2
解决办法
9391
查看次数

Flutter Firebase 存储插件需要大量时间来上传文件

我正在使用 Flutter 开发一个 Android 应用程序。在我的应用程序中,有一个功能,用户可以从他们的设备上传图像。为了存储图像,我使用了 firebase 云存储,这是我用于将文件上传到 firebase 云存储的代码的一部分。

String fileName = "${this.userDetails['id']}_${uuid.v1()}";
String fileExtension = p.extension(_imageFile.path);
String newFileName = p.setExtension(fileName, fileExtension);

print("STEP 1: New filename of image - 111: $newFileName");

final StorageReference ref = FirebaseStorage.instance.ref().child("images/users/original/$newFileName");
final StorageUploadTask uploadTask = ref.put(
            _imageFile, const StorageMetadata(contentLanguage: "en")
        );

print("STEP 2: Image file uploaded - 222");

final Uri downloadUrl = (await uploadTask.future).downloadUrl;
print('STEP 3: downloadUrl data received - 333 : $downloadUrl');

final http.Response downloadData = await http.get(downloadUrl);
print('STEP 4: Download data received - …
Run Code Online (Sandbox Code Playgroud)

dart firebase flutter firebase-storage

11
推荐指数
1
解决办法
2694
查看次数

Python Google Cloud功能连接由同行重置

详情如下:https://issuetracker.google.com/issues/113672049

交叉发布在这里:https://github.com/GoogleCloudPlatform/google-cloud-python/issues/5879)

从Python中的Google Cloud功能使用Firebase存储API时,我收到连接重置错误.

部署的函数调用一个blob-get ie

from firebase_admin import storage

def fn(request):
  bucket = 'my-firebase-bucket'
  path = '/thing'
  blob = storage.bucket(bucket).get_blob(path)
Run Code Online (Sandbox Code Playgroud)

失败是间歇性的; 该功能的成功率约为90%.

在部署后第一次调用函数时,似乎更有可能失败.

python google-cloud-storage google-cloud-functions firebase-storage

11
推荐指数
1
解决办法
925
查看次数