【问题标题】:Firebase Storage image uploadFirebase 存储图片上传
【发布时间】:2020-10-05 13:16:46
【问题描述】:

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

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

【问题讨论】:

  • 请提供更多代码。我尝试从这段代码中检查错误,但没有足够的数据。也许它是另一行的错误,例如 storageReference 初始不正确FirebaseStorage firebaseStorage = FirebaseStorage.getInstance() ???关于 .getInstance() ???
  • 给定变量名称imageUri,您正在尝试从不支持的 URL 上传到存储。您首先必须从 URL 下载数据,然后将其上传到 Storage。
  • @FrankvanPuffelen 感谢您的支持。但是,stackoverflow.com/questions/48433212/… 这个人可以使用 Uri 进行上传。

标签: android firebase firebase-storage


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-12-30
    • 2021-06-28
    • 2021-12-23
    • 1970-01-01
    • 2021-08-18
    • 2019-12-04
    • 1970-01-01
    • 2016-12-24
    相关资源
    最近更新 更多