不幸的是,什么也没有发生,只是这样:无法解码流:java.io.FileNotFoundException:/com.marijan.red.messageActivity@dac48b3/document/image:256(没有这样的文件或目录)
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GALLERY_PICK && resultCode == RESULT_OK){
Uri imageUri = data.getData();
DatabaseReference user_message_push = reference.child("Chats")
.child(fuser.getUid()).child(userid).push();
final String push_id = user_message_push.getKey();
final StorageReference filePath = mImageStorage.child("message_images").child(push_id +"jpg");
File actualImage = new File (imageUri.getPath());
try {
Bitmap compressedImage = new Compressor(this)
.setQuality(50)
.compressToBitmap(actualImage);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
compressedImage.compress(CompressFormat.JPEG, 50, baos);
byte[] final_image = baos.toByteArray();
UploadTask uploadTask = filePath.putBytes(final_image);
Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
return filePath.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
String download_url = task.getResult().toString();
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("sender", fuser.getUid());
hashMap.put("receiver",userid );
hashMap.put("message", download_url);
hashMap.put("isseen", false);
hashMap.put("type","image");
reference.push().setValue(hashMap);
我假设我没有正确地通过图像
您必须使用文件提供程序[您可以从这里获得知识]。或者您可以从URI
中获取位图,并且您必须使用内容解析器,如下所示
位图位图=mediastore.images.media.GetBitmap(getContentResolver(),uri);
所以现在你可以在上传之前压缩你的位图了。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
path = getImageRealPath(getContentResolver(), uri, null);
} else {
path = uri.getPath();
}
private String getImageRealPath(ContentResolver contentResolver, Uri uri, String whereClause) {
String ret = "";
// Query the uri with condition.
Cursor cursor = contentResolver.query(uri, null, whereClause, null, null);
if (cursor != null) {
boolean moveToFirst = cursor.moveToFirst();
if (moveToFirst) {
// Get columns name by uri type.
String columnName = MediaStore.Images.Media.DATA;
Log.d("UriTest: ", "uri: " + uri);
if (uri == MediaStore.Images.Media.EXTERNAL_CONTENT_URI) {
columnName = MediaStore.Images.Media.DATA;
}
// Get column index.
int imageColumnIndex = cursor.getColumnIndex(columnName);
// Get column value which is the uri related file local path.
ret = cursor.getString(imageColumnIndex);
}
}
return ret;
}
问题内容: 我想解码从画廊拍摄的照片,但是有错误。我尝试了各种方法,但没有一个成功。请帮助修复我的代码。 这是我的代码:https : //pastebin.com/syWjqPDK } 这是logcat的结果 问题答案: 从画廊的乐趣中选择图像,如下所示: onActivityResult像这样: 获取像这样的位图扩展名: 祝好运
我试着从图库中打开图像并在Imageview中显示相同的活动。我添加了WRITE_EXTERNAL_STORAGE、READ_EXTERNAL_STORAGE、internet等权限。当我从图库中选择图像并返回活动时,它会显示这种类型的错误 09-04 15:02:57.161 316 42-31642/com.androidTutorialPoint.qrcodescanner E/Bitmap
你好,我试图保存在我的应用程序上拍摄的照片,但当我试图访问内存以放置数据时,会出现错误 无法解码流java.io.FileNotFoundException/storage/emulated/0打开失败:enoint(没有这样的文件或目录) 这是我的代码。
免责声明:在堆栈溢出中也有类似的问题,但这些问题是他们各自的答案,既不适合这个问题,也不帮助解决他们的答案。这些问题是不同的,答案只适合那些具体的问题,而不是通用的。经过长时间的挣扎,他们没有任何帮助,我想了两次我要发布这个问题来寻求帮助。如果有人不喜欢这个问题或不理解,请沟通并得到澄清,而不是勉强设置标志来关闭这个问题;最好你可以忽略并传递...谢谢你! 需求:我使用Zend框架的谷歌日历API
我正在尝试让PHP将上传的文件从tmp目录移动到Web服务器上的永久位置。这看起来很简单,但我遇到了这个错误: 很直接,对吧?它找不到目标文件夹。 我的问题是:如何引用所需的目标目录? 引用是相对于脚本在服务器上的位置?还是相对于URL?还是?还是操作系统的文件系统?还是其他东西? 我在PHP文档中找不到答案,甚至在SO上的任何类似问题中也找不到答案.. 有人能帮忙吗?谢谢