FileReader is not able to read a file from camera - Xamarin + WebView

I have an APP that is only a container for a VUE PWA. In one page the user could upload some file. I implemented the following solution to give the user the option to select a file from Galery or take a new photo.

https://blog.verslu.is/xamarin/xamarin-forms-xamarin/building-a-hybrid-app-with-xamarin-forms/

The problem is the FileReader is not able to read the file when the user takes a new photo with the camera. if the user selects an existing file, the upload works well. This is the error:

FileReader: 
message: "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired."
name: "NotReadableError"

I noticed one difference: when the user selects a file from galery, the URI path that the APP sent to the WebView looks like the following:

{content://com.android.providers.media.documents/document/image%3A32681}

When the user takes a new photo:

file:///storage/emulated/0/Pictures/JBSTRIP/IMG_637273232207442660.jpg

Anyone had the same problem? I didn't found any solution from web.

Thanks a lot!

Upvotes: 2

Views: 922

Answers (1)

I solved the problem. I changed the directory where the picture from camera is saved:

Instead get the path using:

File imageStorageDir = new File (Android.OS.Environment.GetExternalStoragePublicDirectory (
                    Android.OS.Environment.DirectoryPictures), "APP");

I used the APP's folder:

 File imageStorageDir = new File (_context.GetExternalFilesDir(Android.OS.Environment.DirectoryPictures), "APP");

Upvotes: 1

Related Questions