2016-05-02 13 views
0

Ich versuche, E-Mails mit mehreren Anhängen über das Dashboard meiner Website zu senden. Mein Code kann jedoch nur die letzte Datei anhängen. Ich verwende **WebClient()**, um Dateien aus dem Cloud-System herunterzuladen und sie dann als Anhänge hinzuzufügen.Hinzufügen mehrerer Dateien zu Anlagen mit WebClient

Dies ist der Code, den ich geschrieben habe: Ich legte zwei Dateien, so dass diese Links immer in jeder Schleife:

foreach (var link in attachments) 
{ 
     var uri = new Uri(link); 
     var s = uri.Segments[1]; 

     var tempDirectory = @"c:\tempFolder\" + @"\"+ s; 

     WebClient webClient = new WebClient(); 
     webClient.DownloadFile(link, tempDirectory); 

     Attachment attachment = new Attachment(tempDirectory); 
     attachment.ContentDisposition.Inline = true; 
     attachment.ContentDisposition.DispositionType = DispositionTypeNames.Inline; 
     attachment.ContentId = model.Id.ToString(); 
     attachment.ContentType.Name = s; 

     email.Attachments.Add(attachment); 
} 

Jede mögliche Hilfe

EDITED geschätzt werden

Loop 1 : abc.com/TestEmail1.txt

Schleife 2: abc.com/TestEmail2.txt

+0

Sholdn't die Segmentnummer Änderung für jede Datei? uri.Segments [1] – jdweng

+0

Nein ist es nicht. Es wird gleich bleiben. – ashhad

+0

Was passiert, wenn Sie diesen Code im Debug-Modus durch die Schleife laufen ..? Was ist der Wert von var Link während jeder Iteration? Können Sie diesbezüglich mehr Informationen geben? – MethodMan

Antwort

0

diese Zeilen entfernen hat mein Problem

gelöst
attachment.ContentDisposition.Inline = true; 
attachment.ContentDisposition.DispositionType = DispositionTypeNames.Inline; 
attachment.ContentId = model.Id.ToString(); 
attachment.ContentType.Name = s;