Skip to content

Instantly share code, notes, and snippets.

Embed
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))
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