通过我的网站dot net core从外部链接下载文件到用户计算机

时间:2018-03-11 20:16:33

标签: asp.net asp.net-mvc .net-core

我在服务器A上有一个站点,我的文件在服务器B上。 当用户点击我的站点上的服务器B上的下载链接时,我想从服务器B下载文件到用户计算机。 我知道这很简单,我可以使用标签,但我不想向用户显示原始下载链接,因为用户可以共享此链接并下载而无需验证。 我已经在Web Forms中制作了这个,但我需要在Dot Net Core中使用它。 我使用了验证用户和验证文件下载后的处理程序,但在dot net core中我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

在搜索1周后,我在Stephen Cleary博文上找到了解决方案。 示例代码为:

private static HttpClient Client { get; } = new HttpClient();
[HttpGet]
public async Task<FileStreamResult> Get()
{
    var stream = await Client.GetStreamAsync("https://raw.githubusercontent.com/StephenClearyExamples/AsyncDynamicZip/master/README.md");

    return new FileStreamResult(stream, new MediaTypeHeaderValue("text/plain"))
    {
        FileDownloadName = "README.md"
    };
}