从服务器下载文件,显示另存为对话框

时间:2019-04-27 02:42:37

标签: c# .net asp.net-mvc

我正面临着从服务器(从浏览器)下载文件的问题。我有文件和文件名的链接。文件可以变化-它们可以是文本文件,也可以是其他文件。

这不再起作用-它只是作为空文件返回:

<a href="/resources/files/test.txt" download="">test.sql</a>

我正在寻找答案几个小时-为什么这么难实现?我愿意通过javascript操作来做到这一点,只是不知道如何实现?

编辑: 我没有收到任何错误-指向文件的链接正确。文件返回空。这是我在浏览器中看到的:

enter image description here

解决方案不仅简单:

服务器端:

 public FileResult Download(string ImageName)
    {
        var FileVirtualPath = "~/App_Data/uploads/" + ImageName;
        return File(FileVirtualPath, "application/force-download", Path.GetFileName(FileVirtualPath));
    }

客户端:仅需要服务器上该操作的超链接。 像这样:

<a href='/Common/Download?ImageName=test.txt'>test.txt</a>

1 个答案:

答案 0 :(得分:1)

解决方案不仅简单:

服务器端:

 public FileResult Download(string ImageName)
    {
        var FileVirtualPath = "~/App_Data/uploads/" + ImageName;
        return File(FileVirtualPath, "application/force-download", Path.GetFileName(FileVirtualPath));
    }

客户端:仅需要服务器上该操作的超链接。 像这样:

<a href='/Common/Download?ImageName=test.txt'>test.txt</a>