2014-12-11 2 views
0

프론트 엔드에서 base64 문자열로 변환 된 이미지가 있고 첨부 파일로 이메일 서비스에 첨부해야합니다. 첨부 파일 클래스에서이 API CreateAttachmentFromString (String, String, Encoding, String)에 대해 읽었습니다. 첫 번째 인수는 내 base64 문자열이되고 인코딩은 인코딩 된 인코딩 된 문자열입니다.C#에서 createAttachmentFromString() 인코딩 유형을 지정하십시오

기본 64 문자열 인 경우이 인코딩 인수의 값은 무엇이되어야합니다. System.Text.Encoding 클래스를 검색했지만 거기에 대한 참조가 없습니다.

나는 아직도
string encodedAttachment = emailData.AttachmentData.Substring(emailData.AttachmentData.IndexOf(",") + 1); 
byte[] data1 = Convert.FromBase64String(encodedAttachment); 
string decodedString = Encoding.UTF8.GetString(data1); 
Attachment data = Attachment.CreateAttachmentFromString(decodedString, emailData.AttachmentName, System.Text.Encoding.UTF8, MediaTypeNames.Application.Octet); 
email.Attachments.Add(data); 

을 시도 첨부 파일 밤은 권리를 보냈다.

+0

그래서 이미지 데이터가'byte []'로되어 있습니다 ... 왜 UTF-8로 인코딩 된 문자열로 해석하려고합니까? 그것은 단순히 아닙니다. –

답변

1

이미지가 문자열이 아닙니다.
CreateAttachmentFromString()을 사용하여 이미지를 첨부 할 수 없습니다.

대신 new Attachment(new MemoryStream(bytes), ...)을 사용하십시오.

관련 문제