我有一个按钮,它向用户提供选择,他是否想要从画廊或相机的图像。当用户从图库拍摄图像时,我能够成功地将图像上传到Firebase存储,但是当用户选择相机时,我无法将图像上传到存储。这是用户选择相机时的onActivityResult代码
if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
selectedImageUri =Uri.parse(data.getExtras().get("data").toString()) ;
Bitmap photo = (Bitmap) data.getExtras().get("data");
cameraImageButton.setImageBitmap(photo);
}
它将图像上传到我的imageview,但给我错误提示
No content provider: android.graphics.Bitmap@1b9dbf5f
java.io.FileNotFoundException: No content provider: android.graphics.Bitmap@1b9dbf5f
当我尝试上载到存储时
我在stack overflow上遇到了一个类似的问题。
我认为公认的答案是错误的,因为如果我用
mImageUri = data.getData();
mSelectImage.setImageURI(mImageUri);
上面的代码只有当你从图库中获取图像时才是正确的。如果我使用上面的代码并拍摄相机图像,图像永远不会上传到我的图像视图,所以我无法将其推送到Firebase存储。请帮帮忙
单击相机按钮时,请使用以下代码:
int version = Build.VERSION.SDK_INT;
String imgFileName = "image_name".jpg";
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
String pictureImagePath = storageDir.getAbsolutePath() + "/" + imgFileName;
File file = new File(pictureImagePath);
Uri outputFileUri;
if(version < 24){
outputFileUri = Uri.fromFile(file);
} else {
outputFileUri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".provider",
file);
}
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, 111);
在onActivityResult方法中,使用以下代码:
String imgFileName = "image_name".jpg";
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
String pictureImagePath = storageDir.getAbsolutePath() + "/" + imgFileName;
File imgFile = new File(pictureImagePath);
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
myBitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
byte[] dataArray = bytes.toByteArray();
我有一个问题与我的代码,我必须上传图像到Firebase存储,我需要的图像来自画廊和相机,从画廊的图像是好的,但来自相机的图像给问题,图像加载在ImageView和被发送到数据库是黑色的。有人知道如何解决这个问题吗,或者你知道任何其他加载图像的方法吗? 来自画廊 从相机
使用手机摄像头拍摄图像可以通过使用PhotoIntent然后上传拍摄的图像是成功的,我可以观察到Firebase存储中拍摄的图像,但我无法从Firebase存储加载图像,我只查看占位符,但从图库加载到图像视图并可见。可能是什么问题,我和photoIntent正在使用Picasso库从Firebase存储渲染此图像?如有任何帮助,我们将不胜感激。附加方法从Firebase实时数据库接收图像url,并
我正在开发一个简单的博客应用程序,允许用户将照片从手机图库和描述上传到Firebase服务器。我正在尝试修改我的当前项目,以允许用户从照相机捕获照片并将其上载到firebase服务器。 目前,我能够将我捕获的图像显示到Image按钮中,但是我无法将我的图像发布到Firebase服务器(提交发布按钮不会对我的点击功能做出反应)。 我怀疑我的startPosting()函数中有错误,或者我没有正确编码
我正在尝试用相机拍照并上传到Firebase。我使用AlertDialog询问用户是否想要使用相机或从图库中选择图像。我可以用相机拍照,但是当我试图上传图像时,它说找不到图像。 以下是我的图像选择方法: 下面是我上传图片的方法: 提前感谢任何帮助的朋友。
拍摄图像或影像 安装PSP™专用的摄影机(选购品)后,可拍摄静止图像或影像。拍摄后的静止图像或影像会被保存至Memory Stick™或主机内存中。使用PSP™摄影机机能时,请遵守一般礼仪适切使用。 提示 拍摄的图像会被保存至Memory Stick™或主机内存中。 初期设定的保存位置为主机内存。若要变更为Memory Stick™,请在操作接口选择(设定)>[保存位置]。 准备 1. 将摄影
我想将相机拍摄的图像上传到firebase存储。我知道如何存储图像,一旦我得到图像的Uri格式,但我从相机活动得到位图。所以我需要知道怎么做? 我使用函数uploadFile()将图像的Uri存储到firebase存储,然后获取图像的url以将其存储在firebase实时数据库中。但是我需要将位图转换为Uri吗?如果是,如何进行?我发现的代码不起作用,如果有其他方法,请告诉我 谢谢您的时间:)