如何在客户端获取在线mp4链接的字节数组?

时间:2015-04-15 12:59:47

标签: c# ajax bytearray mp4

我打算使用嵌入式服务器将在线mp4链接保存到用户的本地。我可以从输入文件控件中做到这一点。但现在我必须为在线mp4视频做这件事。 我为文件做的是使用file.slice方法使用ajaxrequest作为formdata发送带有部分的字节数组。然后嵌入式服务器获取bytearray并创建文件。 它可以用于文件控制,但是我怎样才能在线mp4视频链接?

2 个答案:

答案 0 :(得分:1)

理解你的问题有点困难,但我认为这就是你要求的。

如何同步下载文件 - 快速而肮脏的方法:

using System.Net;
var webClient = new WebClient();
webClient.DownloadFile("http://somewebsite.com/theVideo.mp4", @"c:\localPath\theVideo.mp4");

如何异步下载文件 - 更好的方法:

    private void DownloadFile(string url, string localOutputPath)
    {
        var webClient = new WebClient();
        webClient.DownloadFileCompleted += Completed;
        webClient.DownloadProgressChanged += ProgressChanged;
        webClient.DownloadFileAsync(new Uri(url), localOutputPath);
    }

    private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    { 
        Console.WriteLine(e.ProgressPercentage + " %");
    }

    private void Completed(object sender, AsyncCompletedEventArgs e)
    {
        Console.WriteLine("File download completed!");
    }

如果您要下载到客户端的计算机上,那么这可能会有所帮助: http://pixelscommander.com/en/javascript/javascript-file-download-ignore-content-type/

或者,用户只需将视频URL(仅)发送到服务器,然后让服务器下载文件。

答案 1 :(得分:0)

我已经为nancyfx实现了mp4handler,但它确实有效。