title: Android Xamarin get absolute path from Android.Net.Uri
body: <p>I have and Xamarin Android application that needs the users to get a file from the internal storage and then read the file.</p>
  
  <p>The file picker I'm using returns the file as an <code>Android.Net.Uri</code> object. Here's how the object is coming:</p>
  
  <p><a href="https://i.stack.imgur.com/hJlfY.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/hJlfY.png" alt="enter image description here"></a></p>
  
  <p>Then to read the file I'm using <code>System.IO.File.ReadAllBytes(filename)</code>. The problem is that this method cannot find the file with this path. </p>
  
  <p>I tried <code>Path.GetFullPath(uri.Path)</code> but it returns the same value I'm passing in.</p>
  
  <p>How can I get the absolute path of the file for such <code>Uri</code> object?</p>
  
  <p>Also, the file could be in any folder, not only in the <code>Download</code> folder as in the example.</p>