I need to get file's path to convert it into input stream for uploading purose. So I choose pdf document
using file chooser.I get Uri in onActivityResult()
.Using uri , I am getting file's path.But it does not return correct path.
The absolute path:
when choosing file from internal storage
/document/primary:pdf/HA License Plate.pdf
when choosing file from external storage
/document/9016-4EF8:certificates/img002.pdf
So I could not get correct file path , to convert into inputstream. So please suggest me to get correct file path in my android application? The code I am using is as follows.
Code Is:-
public void ChoosePDF(View v) {
Intent intent = new Intent();
// intent.setType("pdf/*");
intent.setType("application/pdf");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Pdf"),
REQUEST_CODE);
}
public void onActivityResult(int requestCode, int resultCode, Intent result) {
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_CODE) {
Uri data = result.getData();
if (data.getLastPathSegment().endsWith("pdf")) {
String pdfPath = data.getPath();
File myFile = new File(data.getPath());
Log.i("FirstActivity", "pdfPath is " + pdfPath);
Log.i("FirstActivity", "uri abs path is " + myFile.getAbsolutePath());
} else {
Toast.makeText(SplashScreenActivity.this,
"Invalid file type.Please choose valid file!",
Toast.LENGTH_LONG).show();
}
}
}
}
Is there any android version specific problem while getting file's path?I am using android lollipop device for testing?