0

我正在尝试从我的本地存储库中读取一个文件夹,并且我想在我的浏览器上显示 PDF 文件。当有人点击该浏览器时,应该能够看到 PDF 文件。

我正在创建指向该 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>");   
}
4

3 回答 3

0

我认为你的问题是字符串中变量的位置。

尝试这个

string aLink = string.Format(@"<br/><a href=""{0}"" runat=""server"" >{1}</a>",link+ fi.Name.ToString(),fi.Name.ToString());
于 2013-03-06T09:07:13.547 回答
0

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

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

编辑google chrome 有一个限制,由于安全原因,它会阻止您打开本地文件,但是有一个扩展LocalLinks 可以让您这样做

于 2013-03-06T09:07:24.437 回答
0

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

Response.Write("<br/><a href='" +link+ fi.Name.ToString() + "' target='_blank'>" + fi.Name.ToString() + "</a>");
于 2013-03-06T18:18:16.347 回答