2017-12-28 9 views
1

Ich habe eine Azure Timer Trigger-Funktion, die eine Excel-Datei generiert, und ich muss es per E-Mail als Anhang senden. Ich habe erfolgreich das folgende getan -Zugriff auf eine Datei in Azure Blob von Azure Timer Trigger-Funktion

  1. die Datei erstellt und hochgeladen es in einem azur blob
  2. Gesendete E-Mail ohne Anhang (mit SmtpClient und Mailmessage)

Wie kann ich die Datei von Azure Blob abrufen und als Anhang senden?

P.S. Ich konnte es als Anhang senden, wenn ich die Datei im lokalen Speicher von Azure der Funktion speicherte. Ich möchte jedoch den Speicher der Datei in Azure Blob verschieben

+0

Wenn ich richtig verstanden habe, erstellen Sie die Datei lokal in Ihrer Funktion und laden diese dann in den Blobspeicher hoch. Richtig? Wenn das der Fall ist, warum können Sie diese lokale Datei nicht einfach an die E-Mail anhängen? –

+0

@GauravMantri Nein, ich speichere die Datei nicht lokal, bevor ich sie zum Blob hochlade. Ich lade das Byte-Array direkt auf Blob hoch. – Raj

+0

Bitte sehen Sie diese Antwort: https://stackoverflow.com/questions/5336239/attach-a-file-from-memorystream-to-a-mailmessage-in-c-sharp. Im Wesentlichen werden Sie einen Speicher-Stream aus dem Byte-Array erstellen. –

Antwort

1

Wie kann ich die Datei von Azure Blob abrufen und als Anlage senden?

Per mein Verständnis, könnten Sie Ihre Blob in eine temporäre lokale Datei in Ihrer Funktion wie folgt herunterladen:

// Save blob contents to a file. 
using (var fileStream = System.IO.File.OpenWrite(@"path\myfile")) 
{ 
    blockBlob.DownloadToStream(fileStream); 
} 

Dann könnten Sie Ihre Attachment konstruieren wie folgt:

System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment("{file-path}"); 

Oder Sie könnten Ihren Blob direkt in die MemoryStream wie folgt herunterladen:

using (var memoryStream = new MemoryStream()) 
{ 
    blockBlob2.DownloadToStream(memoryStream); 
    memoryStream.Position = 0; 
    System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(memoryStream , "{contentType}"); 
} 

Einzelheiten könnten Sie Download blobs folgen.

Verwandte Themen