我需要编写一个asp.net应用程序,以便在我们的Intranet上使用。用户应该能够使用网页从文件服务器下载给定的大型csv文件。使用Web应用程序有两个原因 - 我们希望控制并记录文件加载,并且一些将加载文件的用户使用Mac,因此我无法为它们开发win表单应用程序。
我想为我的用户提供一个很好的“下载文件”按钮,就像微软或DownLoad.CNet一样,当我去那里下载一些软件时。
当我查找javascript代码示例时,它们都要求我提供完整的目标文件名,但对于Apple计算机,我不知道下载路径是什么。
我也明白我可以提供一个下载链接,但我想将原始文件存储在文件服务器上,而不是存储在网站内部,并且当我指定file://时,我一直遇到权限问题在href。
有人可以解释一下如何做到这一点吗?
谢谢。
答案 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"
谢谢大家的帮助!