2012-04-05 16 views
0

私はMailMessageに添付するメモリストリームにPDFをダウンロードしようとしています。ここに私のコードは次のとおりです。WebClient.DownloadData()0 bytes返す

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ヘッダーがあると思います。

関連する問題