Ich verwende den folgenden Code, um eine WMV-Datei über eine WebResponse zu erfassen. Ich bin mit einem Faden, diese Funktion aufzurufen:So verwenden Sie WebResponse zum Herunterladen .wmv-Datei
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();
}
Die Datei einfach gut zum Download erscheint, aber Windows Media Viewer kann die Datei nicht richtig öffnen. Ein dummer Fehler, dass der Dateityp nicht unterstützt werden kann.
Was unglaublich einfache Sache vermisse ich?
Haben Sie überprüft, dass Windows Media Viewer die Datei normalerweise außerhalb Ihrer App öffnet? – thedz
Ja. Sollte das klar gemacht haben. – KevDog