猿问

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

我面临从服务器(从浏览器)下载文件的问题。我有文件和文件名的链接。文件可能会有所不同 - 它们可以是文本文件或其他文件。


这不再有效 - 它只是作为空文件返回:


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

我正在寻找几个小时的答案 - 为什么这很难实现?我愿意用 javascript 动作来做这个,只是不知道如何实现?


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


在此处输入图像描述


解决方案不仅仅是简单的:


服务器端:


 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>


偶然的你
浏览 78回答 1
1回答

浮云间

解决方案不仅仅是简单的:服务器端:&nbsp;public&nbsp;FileResult&nbsp;Download(string&nbsp;ImageName) &nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;FileVirtualPath&nbsp;=&nbsp;"~/App_Data/uploads/"&nbsp;+&nbsp;ImageName; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;File(FileVirtualPath,&nbsp;"application/force-download",&nbsp;Path.GetFileName(FileVirtualPath)); &nbsp;&nbsp;&nbsp;&nbsp;}客户端:所需要的只是服务器上该操作的超链接。就像是:<a&nbsp;href='/Common/Download?ImageName=test.txt'>test.txt</a>
随时随地看视频慕课网APP
我要回答