我如何从Cake下载文件?

时间:2016-05-31 05:25:19

标签: cakebuild

我想在我的Cake版本中从github版本(https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip)下载protobuf档案。

我在Cake DSL reference page找不到答案。 有什么建议吗?

2 个答案:

答案 0 :(得分:10)

在HTTP下找到HTTP / Web操作 http://cakebuild.net/dsl/http-operations

DownloadFile(string, ​FilePath)​可能就是你要找的东西。

使用示例:

DownloadFile(
    "https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip",
    "./protoc-2.6.1-win32.zip"
);

答案 1 :(得分:1)

更新: Answer from Matias Karlsson是正确的!使用它!

其他一种Cake用法,如果找不到某些功能:

Cake只是基于.NET的脚本。您可以使用WebClient.DownloadFile方法。

例如:

var buildDir = new DirectoryPath("./target").MakeAbsolute(Context.Environment);
var protocLink = "https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip";
var protocArchive = buildDir.CombineWithFilePath("protoc-2.6.1-win32.zip");

Task("DownloadProtobuf")
    .Does(() =>
    {
        using (var wc = new System.Net.WebClient())
        {
            wc.DownloadFile(protocLink, protocArchive.FullPath);
        }
    });