MyBlogShare

Proses Upload Image Android Studio

Jul 10th, 2021 (edited)
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.44 KB | None | 0 0
  1. public class MainActivity extends AppCompatActivity {
  2.  
  3.     Button btnUpload, btnChoose;
  4.     ImageView gambarUpload;
  5.     final int CODE_GALLERY_REQUEST = 999;
  6.     String url = "http://ipkalian atau domain hosting/upload_image/proses_upload.php";
  7.     Bitmap bitmap;
  8.  
  9.     @Override
  10.     protected void onCreate(Bundle savedInstanceState) {
  11.         super.onCreate(savedInstanceState);
  12.         setContentView(R.layout.activity_main);
  13.  
  14.         btnUpload = (Button) findViewById(R.id.btn_upload);
  15.         btnChoose = (Button) findViewById(R.id.pilih_foto);
  16.         gambarUpload = (ImageView) findViewById(R.id.imageupload);
  17.  
  18.         btnChoose.setOnClickListener(new View.OnClickListener() {
  19.             @Override
  20.             public void onClick(View view) {
  21.                 ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, CODE_GALLERY_REQUEST);
  22.             }
  23.         });
  24.  
  25.         btnUpload.setOnClickListener(new View.OnClickListener() {
  26.             @Override
  27.             public void onClick(View view) {
  28.                 uploadImage();
  29.             }
  30.         });
  31.     }
  32.  
  33.     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  34.  
  35.         if (requestCode == CODE_GALLERY_REQUEST){
  36.             if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
  37.                 Intent intent = new Intent(Intent.ACTION_PICK);
  38.                 intent.setType("image/*");
  39.                 startActivityForResult(Intent.createChooser(intent, "Select Image"), CODE_GALLERY_REQUEST);
  40.             }else{
  41.                 Toast.makeText(getApplicationContext(), "You don't have permission to access gallery!", Toast.LENGTH_LONG).show();
  42.             }
  43.             return;
  44.         }
  45.         super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  46.     }
  47.  
  48.     @Override
  49.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  50.         if (requestCode == CODE_GALLERY_REQUEST && resultCode == RESULT_OK && data != null){
  51.             Uri path = data.getData();
  52.                 try {
  53.                     InputStream inputStream = getContentResolver().openInputStream(path);
  54.                     bitmap = BitmapFactory.decodeStream(inputStream);
  55.                     gambarUpload.setImageBitmap(bitmap);
  56.                     gambarUpload.setVisibility(View.VISIBLE);
  57.                     btnUpload.setVisibility(View.VISIBLE);
  58.                 } catch (IOException e) {
  59.                     e.printStackTrace();
  60.             }
  61.                 Toast.makeText(MainActivity.this, "o", Toast.LENGTH_SHORT).show();
  62.         }
  63.         super.onActivityResult(requestCode, resultCode, data);
  64.     }
  65.  
  66.     private void uploadImage(){
  67.         StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
  68.             @Override
  69.             public void onResponse(String response) {
  70.                 try {
  71.                     JSONObject jsonObject = new JSONObject(response);
  72.                     String Response = jsonObject.getString("response");
  73.                     Toast.makeText(getApplicationContext(), Response, Toast.LENGTH_LONG).show();
  74.                 } catch (JSONException e) {
  75.                     e.printStackTrace();
  76.                 }
  77.             }
  78.         }, new Response.ErrorListener() {
  79.             @Override
  80.             public void onErrorResponse(VolleyError error) {
  81.                 Toast.makeText(getApplicationContext(), "error: " + error.toString(), Toast.LENGTH_LONG).show();
  82.             }
  83.         })
  84.         {
  85.             @Override
  86.             protected Map<String, String> getParams() throws AuthFailureError {
  87.                 Map<String, String> params = new HashMap<String, String>();
  88.                 String gambar = imagetoString(bitmap);
  89.                 params.put("foto", gambar);
  90.                 return params;
  91.             }
  92.         };
  93.         RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
  94.         requestQueue.add(stringRequest);
  95.     }
  96.  
  97.     private String imagetoString(Bitmap bitmap)
  98.     {
  99.         ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  100.         bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
  101.         byte[] imageType = byteArrayOutputStream.toByteArray();
  102.         return Base64.encodeToString(imageType, Base64.DEFAULT);
  103.     }
  104. }
Add Comment
Please, Sign In to add comment