How to convert the uri to inputStream data and upload the stream data into server?
In the below code i have passed the uri into the inputstream and and then crated the file and inputStream data are written in outputstream.This works 100% try this method.
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK) { if (requestCode == PICK_FILE_REQUEST) if (data != null) { //no data present Uri uri = data.getData(); String filePath = data.getData().getPath(); String name = getContentName(getContentResolver(), uri); File file = new File(getCacheDir(),name); int maxBufferSize = 1 * 1024 * 1024; try { InputStream inputStream = getContentResolver().openInputStream(uri); Log.e("InputStream Size","Size " + inputStream); int bytesAvailable = inputStream.available();// int bufferSize = 1024; int bufferSize = Math.min(bytesAvailable, maxBufferSize); final byte[] buffers = new byte[bufferSize]; FileOutputStream outputStream = new FileOutputStream(file); int read = 0; while ((read = inputStream.read(buffers)) != -1) { outputStream.write(buffers, 0, read); } Log.e("File Size","Size " + file.length()); inputStream.close(); outputStream.close(); file.getPath(); Log.e("File Path","Path " + file.getPath()); file.length(); Log.e("File Size","Size " + file.length()); if(file.length() > 0){ attachementImage.setVisibility(View.INVISIBLE); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); } catch (IOException e) { e.printStackTrace(); } imageView.setImageBitmap(bitmap); attachFile.addView(imageView); attachFile.addView(textView); return; } }}