2012-04-11 45 views
0

我使用下面的代碼從蓮花多米諾骨牌服務器上下載tiff文件。webclient.download從url下載不完整的tiff圖像

string url 
    = "http://10.1.1.23\\Domino\\ImageDb.nsf\\500-99-9o9\\$File\\abc.tif"; 

// Create an instance of WebClient 
WebClient client = new WebClient(); 

string filename 
    = "c:\\test.tif"; 

client.DownloadFile(url,filename); 

但是這是下載的文件是4KB,而不是22KB的,當我嘗試打開它,它說,它在錯誤的/無效的格式。任何猜測什麼是錯誤的?

+0

您是否擁有匿名訪問文件?你可以在瀏覽器中下載文件嗎? – 2012-04-11 20:01:26

+0

當我嘗試在我的網絡瀏覽器中下載它時,它會詢問我的用戶名和密碼。 – 2012-04-11 20:39:04

+1

這就解釋了爲什麼你不能用c#下載文件。您需要提供憑據。 4 KB文件可能是一個帶登錄窗口的HTML頁面:-) – 2012-04-11 20:51:33

回答

0

使用Fiddler,您將看到4kb文件是身份驗證HTML頁面,當未經身份驗證的內容請求通過HTTP創建並且所請求的特定資源無法匿名訪問時,Domino自動顯示此頁面。

在這種情況下,聽起來像您在Domino中請求此文件資源時,您需要進行身份驗證。

您可以通過在請求頭中提供有效的LTPToken來完成此操作,該請求頭由Domino服務器在進行身份驗證後發出。或者,如果無法進行身份驗證,則可以使數據庫ACL和文檔可供「匿名」用戶訪問。雖然不是特別的C#代碼,但這些鏈接將幫助您瞭解有關Domino上的LTPA,hereherehere

+0

賓果......這是問題,非常感謝您的幫助! – 2012-04-12 08:05:54