Сохранение потока PDF в файл в формате PDF - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть переменная, которая содержит поток PDF, эта переменная имеет тип System.Threading.Tasks.Task<Stream>. Я хочу сохранить этот поток PDF в файле PDF, но я не уверен, как это сделать. Ниже приведен фрагмент кода, над которым я пытался работать. Любые идеи относительно того, что я могу попытаться сохранить этот поток в файле

System.Threading.Tasks.Task<Stream> pdf = //Some logic here which gets a pdf stream

Я хочу сохранить содержимое PDF в переменной в файле в формате PDF

За что я болею метод

public static void SaveStreamAsFile(string filePath, System.Threading.Tasks.Task<Stream> inputStream, string fileName)
{

    string path = Path.Combine(filePath, fileName);
    using (FileStream outputFileStream = new FileStream(path, FileMode.Create))
    {
       // logic
    }
}

1 Ответ

1 голос
/ 30 апреля 2020

Считать входной поток и записать его в выходной поток.

public static async Task SaveStreamAsFile(string filePath, System.Threading.Tasks.Task<Stream> inputStream, string fileName)
{
    var stream = await inputStream;
    var path = Path.Combine(filePath, fileName);
    var bytesInStream = new byte[stream.Length];

    await stream.ReadAsync(bytesInStream, 0, (int) bytesInStream.Length);

    using (var outputFileStream = new FileStream(path, FileMode.Create))
    {
       await outputFileStream.WriteAsync(bytesInStream, 0, bytesInStream.Length);
    }
}
...