我如何在 Cake 中从 Web 下载文件?
How I can download file from web in Cake?
我想在我的 Cake 构建过程中从 github 版本 (https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip) 下载 protobuf 存档。
我在 Cake DSL reference page 上没有找到答案。
有什么建议吗?
更新: 正确!使用它!
其他 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);
}
});
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"
);
我想在我的 Cake 构建过程中从 github 版本 (https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip) 下载 protobuf 存档。
我在 Cake DSL reference page 上没有找到答案。 有什么建议吗?
更新:
其他 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);
}
});
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"
);