Added extension methods for IFileInfo and Stream.

pull/1120/head
Halil ibrahim Kalkan 7 years ago
parent ae68ae6465
commit b9bf3b11cd

@ -1,4 +1,6 @@
namespace System.IO
using System.Threading.Tasks;
namespace System.IO
{
public static class AbpStreamExtensions
{
@ -10,5 +12,14 @@
return memoryStream.ToArray();
}
}
public static async Task<byte[]> GetAllBytesAsync(this Stream stream)
{
using (var memoryStream = new MemoryStream())
{
await stream.CopyToAsync(memoryStream);
return memoryStream.ToArray();
}
}
}
}

@ -1,6 +1,7 @@
using JetBrains.Annotations;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
namespace Microsoft.Extensions.FileProviders
@ -30,5 +31,31 @@ namespace Microsoft.Extensions.FileProviders
}
}
}
/// <summary>
/// Reads file content as byte[].
/// </summary>
public static byte[] ReadBytes([NotNull] this IFileInfo fileInfo)
{
Check.NotNull(fileInfo, nameof(fileInfo));
using (var stream = fileInfo.CreateReadStream())
{
return stream.GetAllBytes();
}
}
/// <summary>
/// Reads file content as byte[].
/// </summary>
public static async Task<byte[]> ReadBytesAsync([NotNull] this IFileInfo fileInfo)
{
Check.NotNull(fileInfo, nameof(fileInfo));
using (var stream = fileInfo.CreateReadStream())
{
return await stream.GetAllBytesAsync();
}
}
}
}

Loading…
Cancel
Save