2014-09-24 1 views
1

ASP.NET MVC에서 일부 코드를 수행하고 있습니다. 첨부 파일이있는 이메일을 보내야합니다. 하지만 첨부 파일 이름이 null입니다.파일 이름이 메일 첨부 파일의 null입니다.

여기 내 코드입니다. 업로드 된 파일을 서버에 저장할 필요가 없습니다.

mathod 매개 변수 :

List<HttpPostedFileBase> ScreenshotsOfIssueFiles 

코드 :

List<Attachment> screenshotAttachments = new List<Attachment>(); 
foreach (var files in ScreenshotsOfIssueFiles) 
{ 
    if (files != null && files.ContentLength > 0) 
    { 
     var attachment = new Attachment(files.InputStream, MediaTypeNames.Application.Octet); 
     ContentDisposition disposition = attachment.ContentDisposition; 
     disposition.FileName = Path.GetFileName(files.FileName); 
     disposition.DispositionType = DispositionTypeNames.Attachment; 
     screenshotAttachments.Add(attachment); 
    } 
} 

답변

1

코드의 모습을 그리고

var attachment = new Attachment(files.InputStream, files.FileName, MediaTypeNames.Application.Octet); 

를 사용해보십시오. 수정 됨

List<Attachment> screenshotAttachments = new List<Attachment>(); 
    foreach (var files in ScreenshotsOfIssueFiles) 
    { 
     if (files != null && files.ContentLength > 0) 
     { 
      var attachment = new Attachment(files.InputStream, files.FileName, MediaTypeNames.Application.Octet); 
      ContentDisposition disposition = attachment.ContentDisposition; 
      disposition.FileName = files.FileName; 
      disposition.DispositionType = DispositionTypeNames.Attachment; 
      screenshotAttachments.Add(attachment); 
+0

아직 작동하지 않습니다. 코드를 디버깅하고 발견했습니다 : ContentDisposition.FileName = null 및 ContentDisposition.size = -1 –

+0

파일에 대한 내용을 확인 했습니까? 파일 이름? – DSR

+0

예, 파일 이름을 제공합니다. –