我正在寻找一种方法(轻松地,优先;))创建一个单独的文件服务器上的文件的下载链接。创建下载链接到文件服务器上的文件
情况如下:我正在开发的应用程序(asp.net 2.0在vb.net中,但我有一个类似的问题在c#中,任何解决方案适用于我)将在公司内部运行。 最好的做法是,文件存储和Web应用程序位于两台独立的服务器上。
我基本上需要能够创建一个文件的下载链接,我必须访问该文件的唯一可用URL是\ servername \ folder1 \ folder2 \ folder3 \ file.txt(可以是任何类型的文件)
Weblinks根本不起作用。这是目前如何设置:
tablerowfield.Text = String.Format(
"<a href=""\\servername\folder1\folder2\folder3\{0}""
target=""_blank"">Click me</a>",
filename)
这不起作用的原因很明显。它曾经被设置为将该文件写入应用程序路径本身,并且完美运行,但这不是一个好习惯,因此我正在改变它(或试图)。
我阅读有关创建下载页面的解决方案,然后在您的数据库中拥有链接并返回适当的网址以供下载的表格,但是我遇到的时间限制令人遗憾地不允许我开发该表格。
假设我可以像上面那样提供一个带有文件路径的完整文件路径的字符串,只需创建一个单击链接即可下载文档的最简单方法是什么?
注意:我在此环境中拥有0个管理员权限。那真的没有帮助我。让我们假设我得到了正确的链接,并具有适当的文件访问权限等。
UPDATE:
上面的例子不工作在IE中,但不是在Firefox和铬。 IE将它转换为file:// servername/...链接,它可以完成它应有的功能,但是FF和Chrome都主动认定这是不安全的,并且已经从浏览器中禁用它。
好吧,我得到了处理工作,但它一直gving我的错误Response.WriteFile。我输入“\\ server \ folder \ file.txt”形式的字符串,我得到: 无法映射路径'/server/folder/file.txt'我尝试了每个可能的文件。 在这个问题上的任何经验? – Flater
正如我已经提到的,您可以传递像file = abc.txt这样的参数作为第一个链接,file = otherfile.txt等。因此,您将动态获取文件名并将它们传递给ASHX文件。你需要ASHX文件,所以你可以让用户从那里(你的域名)下载它,而不是使用客户端不存在的服务器路径(如果它不在LAN上) – wasimbhalli
好吧,不管我以前的帖子,我可以放弃服务器.Mappath,然后它的工作:)对最终确定仍然有点模糊,但你已经帮了我很多很多!谢谢! – Flater