如何使用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下载了一个视频文件,它成功了。我的设置如下:
我在默认网站(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类型,请遵循以下链接:
- 对于IIS 4,5
- 对于IIS 6
- 对于IIS 7
这听起来更像是服务器问题,但如果你怀疑你的代码,你可能想尝试下载同步(我在过去下载异步时遇到过一些问题)。另一种方法是使用WebRequest类。如果此服务器非常远程,请事先尝试ping。我认为你也应该检查以确保文件在服务器上,如果文件真的很大,你应该检查文件是否完成上传。