Azure BLOB에서 파일을 가져 와서 첨부 파일로 보내려면 어떻게해야합니까?
// Save blob contents to a file.
using (var fileStream = System.IO.File.OpenWrite(@"path\myfile"))
{
blockBlob.DownloadToStream(fileStream);
}
를 그런 다음 당신은 당신의 Attachment
을 만들 수 : 다음과 같이 나의 이해 당
, 당신은 당신의 기능에 임시 로컬 파일로 덩어리를 다운로드 할 수
System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment("{file-path}");
또는 BLOB를 MemoryStream
에 다음과 같이 직접 다운로드 할 수 있습니다.
using (var memoryStream = new MemoryStream())
{
blockBlob2.DownloadToStream(memoryStream);
memoryStream.Position = 0;
System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(memoryStream , "{contentType}");
}
자세한 내용은 Download blobs을 참조하십시오.
제대로 이해하면 함수에서 로컬로 파일을 만든 다음 해당 파일을 BLOB 저장소에 업로드하는 것입니다. 옳은? 그렇다면 왜 로컬 파일을 이메일에 첨부 할 수 없습니까? –
@GauravMantri 아니요, BLOB에 업로드하기 전에 파일을 로컬에 저장하지 않습니다. 바이트 배열을 BLOB에 직접 업로드하고 있습니다. – Raj
이 답변을 참조하십시오 : https://stackoverflow.com/questions/5336239/attach-a-file-from-memorystream-to-a-mailmessage-in-c-sharp. 본질적으로 바이트 배열에서 메모리 스트림을 생성합니다. –