我有一个接受HttpPostedFileBase的端点,它提供了一个可以读取以下载文件的输入流。我其实不想读它-我想重新发布它立即到另一个端点在不同的域(这是因为我的API是建立在另一个)。
我可以在不等待整个流被读取的情况下执行此操作吗?我不希望端点的用户受到不必要的延迟。
public ActionResult Upload(HttpPostedFileBase image)
string url = "www.example.com";
using (var wb = new WebClient())
{
var stream = wb.OpenWrite(url, "POST");
int read;
byte[] buffer = new byte[0x1000];
while ((read = image.InputStream.Read(buffer, 0, buffer.Length)) > 0)
stream.Write(buffer, 0, read);
}
}
不幸的是,使用OpenWrite似乎并没有真正提供任何简单的选项来读取响应,所以我可能只是缓冲整个流并使用UploadData:(.