2013-03-06 34 views
0

我想从本地存储库中读取一个文件夹,并且希望在我的浏览器上显示PDF文件。 当有人点击该浏览器时,应该可以看到PDF文件。通过C#代码创建动态超链接在IE中可以使用,但在Chrome中不能使用

我正在创建一个到该PDF的动态​​链接,但问题是,当我点击在Chrome中动态创建的链接时,它不会执行任何操作。但在IE浏览器中工作正常,但它要求我启用Intranet设置。我使用这样做

代码如下:

String link = "D:\\MyDir\\"; 
DirectoryInfo di = new DirectoryInfo("D:\\MyDir"); 
FileInfo[] rgFiles = di.GetFiles("*.pdf"); 
foreach (FileInfo fi in rgFiles) 
{ 
    Response.Write("<br><" + "a href=" +link+ fi.Name.ToString() + " runat= server >" + fi.Name.ToString() + "</a>"); 
} 
+0

您使用的是什么版本的IE?我怀疑这是否会在IE8 +中工作。我认为大多数浏览器都禁用了对直接文件系统URL的支持。 除了文件路径应该是 - 文件://D:/mydir/a.pdf – NoviceProgrammer 2013-03-06 13:31:06

回答

0

我的事情你proplem是发生在字符串变量。

试试这个

string aLink = string.Format(@"<br/><a href=""{0}"" runat=""server"" >{1}</a>",link+ fi.Name.ToString(),fi.Name.ToString()); 
+0

我试过这也仍然没有在克罗默工作。我使用IE9,并要求我启用内联网,只要我点击是的一切运行良好。但它不适用于crome。 – 2013-03-06 16:50:32

0

最有可能的问题是URL没有用引号括起来,尝试代码更改为

Response.Write("<br><a href=\"" +link+ fi.Name.ToString() + "\" runat= server >" + fi.Name.ToString() + "</a>"); 

编辑有谷歌浏览器,防止限制你因为安全原因打开本地文件,但是有一个extension LocalLinks可以让你做到这一点

+0

当我将鼠标放在链接上时,在左下角的google crome中显示链接为文件:/// D:/mydir/anyfile.pdf 但是当我点击它时它什么都不做,当我右键单击并复制链接地址时,它会复制确切的地址,但我不知道它为什么不反应。有没有什么办法可以使用处理程序来实现这个功能。 – 2013-03-06 16:55:05

+0

@akashpargat查看我的编辑 – VladL 2013-03-06 17:42:43

+0

向Chrome添加扩展也没有奏效。 – 2013-03-06 20:02:44

0

在这种情况下,runat = server是否需要?你只是创建一个静态链接。

Response.Write("<br/><a href='" +link+ fi.Name.ToString() + "' target='_blank'>" + fi.Name.ToString() + "</a>"); 
相关问题