Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
The LocalFileProvider implementation for Android
using System.IO;
using System.Threading.Tasks;
using pdfjs.Droid.PlatformSpecifics;
using pdfjs.Interfaces;
using Xamarin.Forms;
[assembly: Dependency(typeof(LocalFileProvider))]
namespace pdfjs.Droid.PlatformSpecifics
public class LocalFileProvider : ILocalFileProvider
private readonly string _rootDir = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.Path, "pdfjs");
public async Task<string> SaveFileToDisk(Stream pdfStream, string fileName)
if (!Directory.Exists(_rootDir))
var filePath = Path.Combine(_rootDir, fileName);
using (var memoryStream = new MemoryStream())
await pdfStream.CopyToAsync(memoryStream);
File.WriteAllBytes(filePath, memoryStream.ToArray());
return filePath;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment