次のコードを使用して、WebResponseを通じてwmvファイルを取得しています。WebResponseを使用して.wmvファイルをダウンロードする方法
static void GetPage(object data)
{
// Cast the object to a ThreadInfo
ThreadInfo ti = (ThreadInfo)data;
// Request the URL
WebResponse wr = WebRequest.Create(ti.url).GetResponse();
// Display the value for the Content-Length header
Console.WriteLine(ti.url + ": " + wr.Headers["Content-Length"]);
string toBeSaved = @"C:\Users\Kevin\Downloads\TempFiles" + wr.ResponseUri.PathAndQuery;
StreamWriter streamWriter = new StreamWriter(toBeSaved);
MemoryStream m = new MemoryStream();
Stream receiveStream = wr.GetResponseStream();
using (StreamReader sr = new StreamReader(receiveStream))
{
while (sr.Peek() >= 0)
{
m.WriteByte((byte)sr.Read());
}
streamWriter.Write(sr.ReadToEnd());
sr.Close();
wr.Close();
}
streamWriter.Flush();
streamWriter.Close();
// streamReader.Close();
// Let the parent thread know the process is done
ti.are.Set();
wr.Close();
}
ファイルがうまくダウンロードしているようだが、Windowsメディアビューアは、正しくファイルを開くことができません:私は、この関数を呼び出すスレッドを使用しています。ファイルの種類をサポートできないという愚かなエラー。
驚くほど簡単なことは何ですか?
Windows Media Viewerが通常アプリケーションの外部にファイルを開くことを確認しましたか? – thedz
はい。それを明確にしておかなければならない。 – KevDog