yesterday, i make a code how to send image to pc
here is my code...
imageview
upload_gambar = (ImageView) findViewById(R.id.gambar1);
this is button for uploading image
pengajuan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editText.getText().toString().length() == 0) {
editText.setError("Masukkan Tanggal!");
} else if (keterangan.getText().toString().length() == 0) {
keterangan.setError("Masukkan Keterangan!");
} else if (upload_gambar.getDrawable() == null) {
Toast.makeText(getApplicationContext(), "Upload gambar terlebih dahulu", Toast.LENGTH_SHORT).show();
} else {
try {
imagetoString(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
postfull();
postfullfirst();
}
}
});
for choosing image
upload = (Button) findViewById(R.id.upload);
upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ActivityCompat.requestPermissions(sakit.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, CODE_GALLERY_REQUEST);
}
});
}
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == CODE_GALLERY_REQUEST) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Select Image"), CODE_GALLERY_REQUEST);
} else {
Toast.makeText(getApplicationContext(), "You don't have permission to access gallery!", Toast.LENGTH_LONG).show();
}
return;
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CODE_GALLERY_REQUEST && resultCode == RESULT_OK && data != null) {
Uri path = data.getData();
try {
InputStream inputStream = getContentResolver().openInputStream(path);
bitmap = BitmapFactory.decodeStream(inputStream);
upload_gambar.setImageBitmap(bitmap);
upload_gambar.setVisibility(View.VISIBLE);
} catch (IOException e) {
e.printStackTrace();
}
Toast.makeText(sakit.this, "Gambar sudah diupload", Toast.LENGTH_SHORT).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
this is a it's command
private void imagetoString(Bitmap bitmap) throws IOException {
String gambar = nopengajuan.getText().toString();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, baos);
byte[] imageBytes = baos.toByteArray();
String imageString = Base64.encodeToString(imageBytes, Base64.DEFAULT);
imageBytes = Base64.decode(imageString, Base64.DEFAULT);
Bitmap decodedImage = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
upload_gambar.setImageBitmap(decodedImage);
FileOutputStream fos = new FileOutputStream ("C:\\Users\\ICT-PROGRAMER\\Pictures\\" + gambar + ".jpeg");
fos.write(imageBytes);
}
}
What I have tried:
- the imageview already encoded
- string encoded has been decoded
- the image doesn't appears in file