繁体   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