我编写了一个后端C#.NET Core web api来接收byte []并存储在服务器端。后来我计划附加每个这样的文件并构造文件。
客户端是WPF,我正在尝试将文件分块并上传。
我有一些如下代码?
FileStream FS = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite);
int FSBytes = (int)FS.Length;
byte[] B = new byte[megabyte];
int Pos;
List<byte[]> Data = new List<byte[]>();
for (Pos = 0; Pos < (FSBytes - megabyte); Pos += megabyte)
{
FS.Read(B, 0, megabyte);
Data.Add(B);
}
B = new byte[FSBytes - Pos];
FS.Read(B, 0, FSBytes - Pos);
Data.Add(B);
FS.Close(); FS.Dispose();
我想要做的是阅读4个块,将它们发送到API,每个成功发布后再发送4个,依此类推。
我正在考虑创建一个任务列表并将每个项目作为任务发送。但是我遇到的问题是如何停止文件阅读器并在队列为空时恢复。
任何想法都会有所帮助。