gpt4 book ai didi

C# WebClient - 从 ftp 下载文件到客户端

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:06 24 4
gpt4 key购买 nike

我希望将授权代码从表单传递到 Controller ,评估代码,如果匹配,调用 ftp 站点以触发用户接收文件的下载事件。

我有两个约束,1. 我需要传递 ftp 站点凭据,2. 我需要对用户隐藏 url。登录后,作为 ftp 站点上的“用户”,我可以将 url 粘贴到浏览器中,它会触发 zip 文件的自动下载事件。我想我必须使用下面的方法来传递凭据,但是,我想避免必须先将文件下载到我的服务器上然后转身并将其传递给用户。 (处理时间加倍,对吗?)我需要一种方法将凭据移交给 ftp 站点并触发下载事件以直接转到用户计算机到通常的“下载”文件夹...

我不知道如何做到这一点,也找不到任何可靠的引用资料。大多数都在展示如何从服务器向用户处理它,因为文件存储在应用程序所在的位置。感谢您提供任何引用资料或示例!

提前致谢!

    [HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AuthCode(string code)
{
var username = "someuser";
var password = "somepass";

if(code.Equals("$%^123XYZ"))
{
var url = "ftp://url.zip";
var fileName = "Some Name";

var client = new WebClient();
client.Credentials = new NetworkCredential(username, password);
client.DownloadFile(url, fileName);

return View("GoodCode");
}
else
{
return View("BadCode");
}
}

最佳答案

FtpWebRequest类支持流响应。 Here是使用流从 FTP 下载文件的示例。

要在操作中返回流,可以使用 FileStreamResult 将流传递到响应中

return new FileStreamResult(stream, "application/pdf")
{
result.FileDownloadName = "somefile.pdf";
};

关于C# WebClient - 从 ftp 下载文件到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33048958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com