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

How to get byte array of an online mp4 link on client side?

我打算使用嵌入式服务器将在线 mp4 link 保存到用户本地。我可以从输入文件控制中做到这一点。但现在我必须为在线 mp4 视频做这件事。 我对文件所做的是使用 file.slice 方法使用 ajaxrequest 作为表单数据发送字节数组。然后嵌入式服务器获取字节数组并创建文件。 文件控制没问题,但是在线mp4视频怎么办link?

你的问题有点难以理解,但我想这就是你的要求。

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

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(仅)发送到服务器,然后让服务器下载文件。

我已经为 nancyfx 实现了 mp4handler 并且它有效。