android - 访问firebase上传的文件网址不起作用
问题描述
我用过这段代码:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == Activity.RESULT_OK && requestCode == PICTURE_RESULT) {
if (data != null) {
val imageUri: Uri = data.data!!
val ref: StorageReference = FirebaseUtil.storageRef!!.child(imageUri.lastPathSegment!!)
// Another implementation
// UploadTask uploadTask = ref.putFile(imageUrl)
ref.putFile(imageUri).addOnSuccessListener(this) {
ref.downloadUrl.addOnCompleteListener(this) { task ->
val url = task.result.toString()
deal!!.imageUrl = url
}
}
} else {
Log.d("IMAGE", resultCode.toString())
Toast.makeText(this, "Upload failure", Toast.LENGTH_LONG).show()
}
}
finish()
}
并且还使用此代码:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == Activity.RESULT_OK && requestCode == PICTURE_RESULT )
{
if (data != null) {
val imageUri : Uri = data.data!!
val ref : StorageReference = FirebaseUtil.storageRef!!.child(imageUri.lastPathSegment!!)
// Another implementation
// UploadTask uploadTask = ref.putFile(imageUrl)
ref.putFile(imageUri).addOnSuccessListener(this, object : OnSuccessListener<UploadTask.TaskSnapshot> {
override fun onSuccess(taskSnapshot : UploadTask.TaskSnapshot?) {
val url : String = taskSnapshot!!.storage.downloadUrl.toString()
deal!!.imageUrl = url
}
})
} else {
Log.d("IMAGE", resultCode.toString())
Toast.makeText(this, "Upload failure", Toast.LENGTH_LONG).show()
}
}
}
我可以从我的 Android 调试窗口中看到 URI,但它没有按照我的意愿在 firebase 项目中设置,我使用的是最新的 firebase 最新数据库库。我可以在 Android Studio 的调试窗口中看到这个值。但该值不用于为我的 firebase 条目设置图像。我正在使用的库:
implementation 'com.google.firebase:firebase-database:18.0.1'
implementation 'com.google.firebase:firebase-storage:18.1.1'
implementation 'com.firebaseui:firebase-ui-database:4.0.0
解决方案
推荐阅读
- python - 如何显示包含该行中特定值的确切列
- flutter - 将容器缩小到较小的孩子而不是扩大到填充父母
- android - 如何从 AdapterView父级中提取 Spinner Layout id?
- ios - ObsetveSingleEvent 错误处理
- python - 无法使用 Python 抓取具有不变 URL 的多个页面
- gradle - 多项目 gradle 无法正确导入
- php - 如果 phpmailer 中的字段为空,则不显示消息文本
- javascript - 添加输入时,我的 javascript 代码中断
- laravel - 无法将图像存储到公共存储(LARAVEL)
- swift - 将领域列表公开为(只读)RandomAccessCollection