这有点奇怪......我们有一个在服务器(A)上运行的内部Web应用程序和在服务器(B)上运行的文档存储库。
我在页面上有简单的链接,我想让用户下载文档(来自IIS服务器(A))。但是,在用户单击按钮之前,此文档在服务器(A)上不存在(因为当页面加载时,有40多个要显示的文档无法加载它们)
当用户点击链接时(此时我希望提示下载) 文档将复制到服务器(A),然后重定向到浏览器提示他们下载的页面。我相信我已经正确设置了内容标题,它可以在FireFox中使用。
IE(7)只是弹出一个窗口然后窗口消失,如果我关闭安全设置它可以正常工作,但这不是一个选项。
任何想法如何解决这个问题。我不能直接指向服务器(B)上的文档
附加:是服务器B也是Web服务器
答案 0 :(得分:5)
如果世界可以看到服务器A而服务器A可以看到服务器B.我建议设置反向代理。
http://www.codeplex.com/urlrewriter
基本上这样做可以让世界从服务器B下载,但只能通过反向代理。您可以使用以下规则为此库创建反向代理接口。
RewriteRule ^ / download /(.*) http://server-b/download/ $ 1 [NC,P]
所以在
的情况下http://server-a/download/xyz.pdf
它实际上会从
请求它http://server-b/download/xyz.pdf
但是它会像来自服务器-a一样被传递,这在技术上是由反向代理创建一个Web连接,从server-a到server-b并将HTTP响应复制到服务器的响应 - 一个。
如果您需要帮助,请告诉我。
答案 1 :(得分:0)
你能用ajax吗?例如,用户单击发送请求以将文件从B获取到A并且微调器显示在页面上的按钮。然后在复制完成后,禁用微调器并为用户提供下载链接。
我被拒绝了,没有评论权限,所以我想我会详细说明(也许这只是一个可怕的解决方案,我看不到它):
如果文档服务器不是Web服务器(SMB,AFS,NFS等),这将有效。