簡體   English   中英

如何使用WebClient類下載大視頻文件

[英]How to download big video files using WebClient class

我是新手,正在開發Windows應用程序。 我需要從我的網站下載視頻文件,這就是我的問題。 我設計了一個自定義的下載程序,通過該程序可以從站點下載圖像,文本文件。 但是我無法從我的網站下載視頻。 誰能幫我一個忙..?

WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri("http://mysitename.com/Videos/vid.mp4"), "c:\\movie.mp4");

我不想通過響應內容分發的方式下載,因為我的客戶希望我通過自定義瀏覽器下載..所以請讓我知道您專家的解決方案..謝謝

我嘗試使用WebClient下載視頻文件,並且可以正常工作。 我的設置如下:

我在具有此視頻文件的默認網站(IIS)中有一個虛擬目錄(視頻)。

我只是使用以下代碼將視頻文件下載到C驅動器:

var client = new WebClient();
Uri address = new Uri("http://localhost/Video/wildlife.wmv");
client.DownloadFileAsync(address, @"c:\video.wmv");

另請注意,由於您是以異步方式下載的,因此請等待大約一分鍾,以使操作完成以下載完整文件。 最初它顯示0字節,但是根據大小,它需要一些時間才能完成。

更新:如果您的服務器沒有指定文件mime類型,則只需添加到IIS可以提供​​服務的mime類型集合中,您就可以毫無問題地下載文件。

添加MIME類型時,要使用以下值(針對您的情況):

File Extension: .mp4
MIME Type: video/mp4 

要在IIS中添加mime類型,請遵循以下鏈接:

  1. 對於IIS 4,5
  2. 對於IIS 6
  3. 對於IIS 7

這聽起來更像是服務器問題,但是如果您懷疑代碼,則可能要嘗試下載同步(過去下載異步時遇到了一些問題)。 另一種方法是使用WebRequest類。 如果該服務器是非常遠程的,請事先嘗試ping通。 我認為您還應該檢查以確保文件在服務器上,如果文件確實很大,則應檢查文件是否已完成上傳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM