如何使用WebClient类下载大型视频文件

本文关键字:大型 视频 文件 下载 何使用 WebClient | 更新日期: 2023-09-27 18:22:28

我是个新手,正在开发一个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类下载大型视频文件

我试着用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。我认为你也应该检查以确保文件在服务器上,如果文件真的很大,你应该检查文件是否完成上传。