2012-04-05 66 views
0

我想下載PDF到一個內存流,我將附加到一個MailMessage。這是我的代碼:WebClient.DownloadData()返回0字節

string pdfUrl = "http://dev.domain.com/pdf+files/sample.pdf"; 
WebClient client = null; 
MemoryStream stream; 
try 
{ 
    client = new WebClient(); 
    stream = new MemoryStream(client.DownloadData(pdfUrl)); 
    attachments.Add(new Attachment(stream, "Sample.pdf"); 
} 
finally 
{ 
    client.Dispose(); 
} 

字節[]從client.DownloadData(pdfUrl)返回具有0

任何想法的長度?

回答

0

下載可以通過Web瀏覽器工作,但以編程方式嘗試失敗的原因有很多種。這些原因包括:缺少Cookie(包括身份驗證令牌),不匹配的方法(POST與GET),缺少的表單字段,不同的HTTP標頭,重定向問題等。

有關更多信息,請參閱this catalog of screen-scraping gotchas解決。

如果我不得不猜測你的情況出了什麼問題,我會猜想缺少的cookie或HTTP標頭。