From 0dde7ffd84134f2489bacaa433decba4e481458f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=87=92=E5=BE=97=E5=8B=A4=E5=BF=AB?= Date: Fri, 25 Dec 2020 17:49:59 +0800 Subject: [PATCH] =?UTF-8?q?Stream=E5=A2=9E=E5=8A=A0ToArrayAsync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/BaseType/StreamExtensions.cs | 23 ++++++++++++++++++ .../Masuit.Tools.Abstractions.csproj | 8 +++--- Masuit.Tools.Core/Masuit.Tools.Core.csproj | 11 ++++----- Masuit.Tools/Masuit.Tools.csproj | 2 +- Masuit.Tools/Properties/AssemblyInfo.cs | Bin 2078 -> 2078 bytes Masuit.Tools/package.nuspec | 2 +- NetCoreTest/NetCoreTest.csproj | 2 +- NetCoreTest/Program.cs | 8 +++++- 8 files changed, 42 insertions(+), 14 deletions(-) diff --git a/Masuit.Tools.Abstractions/Extensions/BaseType/StreamExtensions.cs b/Masuit.Tools.Abstractions/Extensions/BaseType/StreamExtensions.cs index c444149..25399aa 100644 --- a/Masuit.Tools.Abstractions/Extensions/BaseType/StreamExtensions.cs +++ b/Masuit.Tools.Abstractions/Extensions/BaseType/StreamExtensions.cs @@ -1,4 +1,11 @@ using System.IO; +#if NET5_0 +using System; +using System.Buffers; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; +#endif namespace Masuit.Tools { @@ -30,5 +37,21 @@ namespace Masuit.Tools stream.Seek(0, SeekOrigin.Begin); return bytes; } + +#if NET5_0 + /// + /// + /// + /// + /// + /// + public static async Task ToArrayAsync(this Stream stream, CancellationToken cancellationToken = default) + { + byte[] bytes = new byte[stream.Length]; + await stream.ReadAsync(bytes, cancellationToken); + stream.Seek(0, SeekOrigin.Begin);// 设置当前流的位置为流的开始 + return bytes; + } +#endif } } \ No newline at end of file diff --git a/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj b/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj index 308ab0d..c410f65 100644 --- a/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj +++ b/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj @@ -7,7 +7,7 @@ 9.0 true - 2.4.1.2 + 2.4.1.3 懒得勤快 Masuit.Tools基础公共库 懒得勤快,长空X @@ -20,9 +20,9 @@ Github True False - 2.4.1.2 + 2.4.1.3 masuit.com - 2.4.1.2 + 2.4.1.3 https://github.com/ldqk/Masuit.Tools/blob/master/LICENSE true true @@ -46,7 +46,7 @@ - + diff --git a/Masuit.Tools.Core/Masuit.Tools.Core.csproj b/Masuit.Tools.Core/Masuit.Tools.Core.csproj index 2ee4ef0..8d4518e 100644 --- a/Masuit.Tools.Core/Masuit.Tools.Core.csproj +++ b/Masuit.Tools.Core/Masuit.Tools.Core.csproj @@ -4,8 +4,7 @@ netstandard2.0;netstandard2.1;net5 - - 包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,html处理,验证码、NoSql等常用封装。 + 包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,html处理,验证码、NoSql等常用封装。 官网教程:https://masuit.com/55 github:https://github.com/ldqk/Masuit.Tools @@ -21,10 +20,10 @@ 830c282f-f7c1-42be-8651-4cd06ac8e73f Github True - 2.4.1.2 - 2.4.1.2 + 2.4.1.3 + 2.4.1.3 masuit.com - 2.4.1.2 + 2.4.1.3 懒得勤快X https://github.com/ldqk/Masuit.Tools true @@ -354,7 +353,7 @@ - + diff --git a/Masuit.Tools/Masuit.Tools.csproj b/Masuit.Tools/Masuit.Tools.csproj index ba07fe4..69d28b2 100644 --- a/Masuit.Tools/Masuit.Tools.csproj +++ b/Masuit.Tools/Masuit.Tools.csproj @@ -402,7 +402,7 @@ 1.11.29 - 5.0.355 + 5.0.372 5.2.7 diff --git a/Masuit.Tools/Properties/AssemblyInfo.cs b/Masuit.Tools/Properties/AssemblyInfo.cs index 3622e8a0d4b0594afdbab354bfec8024c321d8a2..8fe0d6f1d2b7e9760b04753cf0a4d3ea40ef148d 100644 GIT binary patch delta 33 kcmbOyFi&6u3p=CnWLEZIAi0rUaq Masuit.Tools.Net - 2.4.1.2 + 2.4.1.3 Masuit.Tools masuit.com diff --git a/NetCoreTest/NetCoreTest.csproj b/NetCoreTest/NetCoreTest.csproj index f087412..efdc2ba 100644 --- a/NetCoreTest/NetCoreTest.csproj +++ b/NetCoreTest/NetCoreTest.csproj @@ -1,7 +1,7 @@ - netcoreapp3.0 + net5.0 false false 8.0 diff --git a/NetCoreTest/Program.cs b/NetCoreTest/Program.cs index 036c800..f7d1d1a 100644 --- a/NetCoreTest/Program.cs +++ b/NetCoreTest/Program.cs @@ -1,4 +1,5 @@ -using Masuit.Tools.Core.Models; +using Masuit.Tools; +using Masuit.Tools.Core.Models; using Masuit.Tools.Reflection; using Masuit.Tools.Security; using Microsoft.AspNetCore; @@ -6,6 +7,7 @@ using Microsoft.AspNetCore.Hosting; using System; using System.Collections.Generic; using System.ComponentModel; +using System.IO; namespace NetCoreTest { @@ -13,6 +15,10 @@ namespace NetCoreTest { public static void Main(string[] args) { + var fs = File.OpenRead(@"E:\下载\BlazorSamples.7z"); + var bytes = fs.ToArrayAsync().Result; + Console.WriteLine(bytes.Length); + Console.ReadKey(); var myClass = new MyClass() { MyProperty1 = 1,