背景- C# で HttpWebRequest/HttpWebResponse を使用して、既存の Web ページを別の Web アプリケーションにストリーミングしようとしています。私が印象的な問題の 1 つは、ファイル ダウンロードのコンテンツ長を使用してファイル アップロード リクエストのコンテンツ長を設定しようとしていることですが、ソース Web ページが HttpWebResponse がない Web サーバー上にある場合に問題が発生するようです。コンテンツの長さを提供します。
HttpWebRequest downloadRequest = WebRequest.Create(new Uri("downloaduri")) as HttpWebRequest;
using (HttpWebResponse downloadResponse = downloadRequest.GetResponse() as HttpWebResponse)
{
var uploadRequest = (HttpWebRequest) WebRequest.Create(new Uri("uripath"));
uploadRequest.Method = "POST";
uploadRequest.ContentLength = downloadResponse.ContentLength; // ####
質問: このケースに対応するために、このアプローチをどのように更新できますか (ダウンロード応答にコンテンツ長が設定されていない場合)。どうにかして MemoryStream を使用するのでしょうか? サンプルコードをいただければ幸いです。 特に、コンテンツの長さを提供しないソース Web サーバーの問題を回避するために、「チャンクされた」HTTP ダウンロードとアップロードを行う方法を示すコード サンプルはありますか?
ありがとう