我有一个端点,用于从服务器捕获文件。这是代码:
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个兆字节,一旦我获得了足够多的文件,请将其发送到另一个端点(采用同步方法)并遍历文件直到完成。通常,我将保存文件,然后将其发布到端点,并在文件发布后将其删除,但是已强制该文件不能保存到磁盘,必须将其流式传输到另一个端点。我该怎么办?