Firebase存储映像上传

时间:2020-06-16 02:08:24

标签: android firebase firebase-storage

我正在使用以下方法保存信息。

    private void saveUserData() {
    progressDialog.setTitle("Account Settings");
    progressDialog.setMessage("Please wait while settings are being changed...");
    progressDialog.show();

    final StorageReference imageRef = storageReference
            .child(FirebaseAuth.getInstance().getCurrentUser().getUid());
    imageRef.putFile(imageUri);
}

我删除了一些用于访问数据库的代码行。

这是日志猫的描述。

E / StorageException:发生StorageException。 发生未知错误,请检查HTTP结果代码和服务器响应的内部异常。 代码:-13000 Http结果:0 E / AndroidRuntime:致命事件:FirebaseStorage-Upload-1

我找到了这个错误代码并找到了

案例未知= -13000

当我对此行发表评论时,该应用程序不会崩溃。

imageRef.putFile(imageUri);

另一方面,我能够成功保存文本信息,甚至可以从数据库中检索文本信息。

编辑

这是代码。

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);

    storageReference = FirebaseStorage.getInstance()
            .getReference().child("Profile Pictures");

    profileImageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_GET_CONTENT);
            intent.setType("image/*");
            startActivityForResult(intent, galleryPick);
        }
    });
    saveButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            saveUserData();
        }
    });
    retrieveUserInformation();
}

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == galleryPick && resultCode == RESULT_OK && data != null) {
        imageUri = data.getData();
        profileImageView.setImageURI(imageUri);
    }
}

1 个答案:

答案 0 :(得分:1)

鉴于变量名imageUri,您正在尝试从不支持的URL上传到存储。您首先必须从URL下载数据,然后将其上传到Storage。