Skip to content

Instantly share code, notes, and snippets.

@jfversluis
Created December 24, 2017 15:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jfversluis/4e9adf60088ff548a1f4e898ba682dfd to your computer and use it in GitHub Desktop.
Save jfversluis/4e9adf60088ff548a1f4e898ba682dfd to your computer and use it in GitHub Desktop.
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))
Directory.CreateDirectory(_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