繁体   English   中英

Firebase 存储镜像上传

[英]Firebase Storage image upload

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

    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 HttpResult: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);
    }
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM