我想創建一個C#程序,可以從網站下載Flash(.swf)文件。這個程序應該使用提供的url來獲取這個文件。 E.g如果我這個URL粘貼在我的程序,它應該能夠將其下載此文件並保存到硬盤驅動器:C#從網站下載.swf文件
有什麼建議?
我想創建一個C#程序,可以從網站下載Flash(.swf)文件。這個程序應該使用提供的url來獲取這個文件。 E.g如果我這個URL粘貼在我的程序,它應該能夠將其下載此文件並保存到硬盤驅動器:C#從網站下載.swf文件
有什麼建議?
嘗試使用WebRequest類。 在stackoverflow上有另一個question的例子。
嘗試這樣的事情
WebClient client = new WebClient();
string resource = "http://aynwebsite.com/flash/greeting2021.swf?";
client.DownloadFile(resource,"c:\\savingfoldername\\greeting.swf");
對,更清潔... +1 – misha 2012-07-18 07:21:44
謝謝。我會馬上嘗試。 – 2012-07-18 07:22:27
下載需要時間。有沒有辦法顯示%的進展? – 2012-07-18 07:34:51
WebClient wc = new WebClient();
wc.DownloadFile("http://www.songsterr.com/songsterr/player/SongsterrPlayer.swf?songId=85813&base=%2Fa&blank=%2FWebObjects%2FSongsterr.woa%2FContents%2FWebServerResources%2Fblank.flv%3F1342518734394&initialTrackIndex=1&revision=167860&showMixerPromoPopup=true&backingTracksEnabled=true");
否則,你可以使用
WebBrowser webBrowser =new WebBrowser();
webBrowser.Navigate("http://www.songsterr.com/songsterr/player/SongsterrPlayer.swf?songId=85813&base=%2Fa&blank=%2FWebObjects%2FSongsterr.woa%2FContents%2FWebServerResources%2Fblank.flv%3F1342518734394&initialTrackIndex=1&revision=167860&showMixerPromoPopup=true&backingTracksEnabled=true", "myfile.swf");
var filestream = webBrowser.DocumentStream;
可以節省磁盤流。
謝謝。我會馬上嘗試。 – 2012-07-18 07:27:21
下載需要時間。有沒有辦法顯示%的進展? – 2012-07-18 07:37:12
不,它不想工作。它繼續加載。我試圖調試它。我堅持在這一行:client.DownloadFile(..),我沒有得到任何異常。 – 2012-07-18 09:17:42
謝謝。我會馬上嘗試。 – 2012-07-18 07:26:23
請注意,我在上面提到的鏈接中有url參數。所以我認爲在服務器端可以發出swf文件之前,服務器端會進行某種驗證。 – 2012-07-18 10:35:52
哦,正在使用Windows窗體來做到這一點。現在我已經切換到Asp.Net。但現在我遇到的問題是它不下載整個文件。它只能複製980KB。但是,如果您將之前提到的網址粘貼到瀏覽器中,瀏覽器會複製整個文件。但是,如果我用我的程序來做這件事,我只會得到不完整的下載文件。 – 2012-07-18 10:52:53