1

在我们当前的项目中,我们设置了两个虚拟路径,一个用于图像,一个用于文件上传。虚拟路径从单独的服务器中提取图像和文件。我目前正在处理跨浏览器兼容性问题,Firefox 读取虚拟路径的方式似乎与所有其他浏览器不同。似乎它没有正确呈现 URL。它们在 Chrome、Safari 和 IE 7/8/9 中运行良好。

当前使用 IIS 7

最后结果:

在这种情况下,用户可以看到他们上传的所有公开 PDF 的列表。然后,用户可以单击其中一个文件名,PDF 将在新选项卡/窗口中打开。

在 IE、Chrome 和 Safari 中,路径如下所示(正确):

http://localhost:1798/disclosures/bf1bb8bf-ef34-4c93-a4c3-540bab158644.pdf

然而,在 Firefox 中它看起来像这样:

http://localhost:1798/Disclosure\disclosures\bf1bb8bf-ef34-4c93-a4c3-540bab158644.pdf

这是当前页面的 URL:

http://localhost:1798/Disclosure/Disclosures?lenderProductID=19&lenderID=64

为什么它看起来像是在尝试将当前 URL 与虚拟路径结合起来?当我单击其中一个 PDF 链接时,它会打开一个新选项卡/窗口,但会将我重新路由回索引页面。

我不是最好的 IIS,所以任何帮助将不胜感激!先感谢您。

4

2 回答 2

0

您确定 URL 正确呈现吗?

我的直觉告诉我,IE、Chrome 和 Safari 正在将反斜杠转换为正斜杠。FireFox 没有这样做,这就是它在 FireFox 中似乎被破坏的原因。

于 2012-10-19T19:57:00.990 回答
0

感谢大家的所有投入。在图像/文件路径中查看 web.config 后,我注意到一个愚蠢的错误,结果证明这是我的问题的根源。

在 web.config 中,我在字符串中有反斜杠而不是正斜杠。我猜 Chrome、IE 和 Safari 正确地转换了它们,但 Firefox 在这方面更严格一些。

这是我在 中找到的两个文件路径<appSettings>

<add key="ImagePath" value="\images\" />
<add key="DisclosurePath" value="\disclosures\" />

但是,它们应该如下所示:

<add key="ImagePath" value="/images/" />
<add key="DisclosurePath" value="/disclosures/" />

谢谢大家!现在我可以停止敲打我的头并戴上我的笨蛋帽了!:-)

于 2012-10-19T22:39:25.800 回答