2

如何从 C#.net 中的 Web 应用程序从 SVN 存储库下载文件?我想以编程方式下载文件。单击按钮时,它应该从 TextBox 中给出的 URL 下载文件。

4

2 回答 2

6

首先,您应该能够直接在存储库上访问(只读)文件,而无需 SVN 客户端(尽管您可能需要身份验证)。在这种情况下,就像从任何 URL 下载任何文件一样:

using (WebClient client = new WebClient())
{
    // In case you need authentication...
    // client.Credentials = new NetworkCredential("username", "password");

    client.DownloadFile(fileUrl, localDestinationPath);
}

然而,正如 Vinayak 所说,SharpSvn 并不是一个糟糕的方法——它非常适合处理 SVN 交互。所以如果使用标准的 WebClient 不起作用,可以在 SharpSvn 中执行以下操作来获取文件流:

MemoryStream stream = new MemoryStream();
using (SvnClient client = new SvnClient())
{
    client.Authentication.DefaultCredentials = new NetworkCredential("username", "password");
    client.Write(SvnTarget.FromUri(svnFilePath), stream);
}
return stream;

希望这可以帮助!

于 2013-04-26T15:05:19.003 回答
1

编辑:

我还找到了另一个SharpSvn 教程,希望对您有所帮助。它包含从介绍到 SVN 操作(结帐、提交等)的所有内容

还,

  1. 阅读SharpSVN并查看此博客

  2. C# 中的 Checkout、update、commit相关示例很少

  3. 源代码还包含一个示例项目

于 2013-04-25T06:35:18.507 回答