使用C#HTTP REST API以块的形式上传大文件

时间:2017-12-11 07:13:44

标签: c# asp.net-web-api

我编写了一个后端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个,依此类推。

我正在考虑创建一个任务列表并将每个项目作为任务发送。但是我遇到的问题是如何停止文件阅读器并在队列为空时恢复。

任何想法都会有所帮助。

0 个答案:

没有答案