从一个API端点下载文件,然后立即将文件重新发布到另一个API端点

时间:2019-09-03 19:29:56

标签: c# rest .net-core

我有一个端点,用于从服务器捕获文件。这是代码:

 using (HttpClient myClient = new HttpClient())
                {
                    //string url = @"http://speedtest.tele2.net/1GB.zip"; //Change this to the URL to download the file from
                    using (HttpResponseMessage response = await myClient.GetAsync(tranfile.VaultFileURL, HttpCompletionOption.ResponseHeadersRead))
                    using (Stream readFrom = await response.Content.ReadAsStreamAsync())
                    {
                       using (Stream writeTo = File.Open(transFileLocation, FileMode.Create))
                        {
                             await readFrom.CopyToAsync(writeTo);
                        //instead of copy file, start streaming to remote API point

}

                    }
                }

有人告诉我,与其做一个CopyToAsync来将文件保存到本地,我们需要读取10兆块的文件,并立即开始将这些块流式传输到另一个API端点。所以代替:

await readFrom.CopyToAsync(writeTo);

我需要开始监视该文件的前10个兆字节,一旦我获得了足够多的文件,请将其发送到另一个端点(采用同步方法)并遍历文件直到完成。通常,我将保存文件,然后将其发布到端点,并在文件发布后将其删除,但是已强制该文件不能保存到磁盘,必须将其流式传输到另一个端点。我该怎么办?

0 个答案:

没有答案