2013-03-06 33 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>"); 
相關問題