如何从文件服务器下载文件

时间:2014-11-06 22:18:00

标签: javascript asp.net download

我需要编写一个asp.net应用程序,以便在我们的Intranet上使用。用户应该能够使用网页从文件服务器下载给定的大型csv文件。使用Web应用程序有两个原因 - 我们希望控制并记录文件加载,并且一些将加载文件的用户使用Mac,因此我无法为它们开发win表单应用程序。

我想为我的用户提供一个很好的“下载文件”按钮,就像微软或DownLoad.C​​Net一样,当我去那里下载一些软件时。

当我查找javascript代码示例时,它们都要求我提供完整的目标文件名,但对于Apple计算机,我不知道下载路径是什么。

我也明白我可以提供一个下载链接,但我想将原始文件存储在文件服务器上,而不是存储在网站内部,并且当我指定file://时,我一直遇到权限问题在href。

有人可以解释一下如何做到这一点吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

可能只需用文件服务器URL打开一个新窗口,取决于你如何配置ftp:

window.open('ftp://myServer/catalog/someFile');

这当然不是很优雅,但它至少是另一种选择。 JavaScript使用http / websocket,因此在引入ftp时会很复杂。

答案 1 :(得分:0)

在阅读了更多StackOverflow答案后,我喜欢对我有用的答案:

How to implement a file download in asp.net

重要的部分是内容类型。 我试图使用内容类型'文本',而我需要使用它:

        Response.AddHeader("Content-Disposition", "attachment; filename=" + sourceFileInfo.Name)
        Response.AddHeader("Content-Length", sourceFileInfo.Length.ToString())
        Response.ContentType = "application/octet-stream"

谢谢大家的帮助!