【发布时间】: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