최근에 System.Net.Mail.Attachment을 사용하여 파일에 전자 메일을 첨부하는 코드를보고있었습니다. 현재 구현은 첨부 파일을 저장 장치에 파일로 저장하고 고유 한 이름을 지정합니다. 다음과 같이이 파일은 다음 MailMessage에 추가되었습니다파일 읽기보다 메모리 스트림 사용의 이점
Attachment data = new Attachment(filename);
message.Attachments.Add(data);
이메일은 다음 전송하고 파일은 저장 장치에서 삭제되었습니다.
파일이 MemoryStream (이미있는)에 저장되고 그 파일을 전자 메일의 첨부 파일로 전달하는 것이 좋지 않습니까? MailMessage 클래스의 어딘가에서 파일이 스트림으로 읽혀지고 아주 똑같은 방식으로 전송된다고 상상할 수 있습니다. 그리고 디스크에 저장하는 전체 과정은 완전히 불필요합니다.
내 직감 ... 디스크에 쓰기는 완전히 unnessarry이며 스트림을 사용해야합니다. (내가 잘못 했나요?)
스트림 버전이 있다는 것을 알고 있습니다. 구현자가 내가 간과하고있는 것에 대해 생각하고 있는지 보았습니다. 또는 그들은 단지 스트림을 이해하지 못했지만 원시 파일로 작업하는 것이 더 익숙하므로 그 경로를 따라갔습니다. – cgatian
@cgatian 가능성이 가장 높습니다. 필자가 파일에 쓰기 위해 생각하는 유일한 이유는 보관/백업/실패 안전입니다. –