2009-08-07 4 views
7

성공적으로 txt 파일을 만들었습니다 (예 : 파일이 존재하고 열립니다), 나는 성공적으로 생성하는 이메일에 첨부하고 싶습니다 (예 : 전자 메일이 열리고 텍스트를 이메일 등)를 보내고 보내십시오. 내가 자주 사용으로텍스트 파일을 이메일에 첨부하십시오.

// Attach a file to the email 
NSString *path = [self dataFilePath:(@"myFile.txt")]; 
NSData *myData = [NSData dataWithContentsOfFile:path]; 
[picker addAttachmentData:myData mimeType:@"text/plain" fileName:@"myFile"]; 

dataFilePath 내가 파일의 경로를 얻기 위해 사용하는 방법입니다, 잘 작동 다음은 첨부 파일을 수행하기위한 내가 지금 가지고있는 코드입니다. 위의 코드는 < br /> < br />을 입력 한 다음 텍스트 파일의 텍스트가 더 많습니다. < br /> < br /> .. 여기에 브레이크가 생깁니다. 파일을 이메일 텍스트에 붙여 넣습니다 ... 파일을 첨부하고 싶습니다.

나는이 코드를 stackoverflow의 다른 게시물에서 복사/수정했으며 사과 사이트에서 정보를 찾는 데 어려움을 겪고 있습니다. 참고 : mimeType이 txt 파일 인 이유는 무엇입니까? 웹 사이트 (www.iana.org)가 txt를 나타내지 않으므로 ...

업데이트 : 업데이트 된 코드로 변경되었으며 "plain"이 mimeType에 올바른 선택임을 확인해 주셔서 감사합니다.

답변

7

이 완벽한 솔루션이 아니라 일반 텍스트에 대한 MIME 유형은 다음과 같습니다

text/plain
+0

당신이 답을 설명해주십시오 수 있습니다 : 그것은 가치가 무엇인지에 대한

는 여기에 몇 가지 전체 작업 코드 (가), 이메일을 만들어 추가하는 HTML 본문을 텍스트 첨부 파일을 추가하고, 보내는 작성보기를 보여줍니다입니까? – AsifHabib

3

이이 프로그램과 이메일 클라이언트와 문제, 그리고 수 있습니다. 텍스트 파일이 메일 작성보기의 첨부 파일로 표시 되나 전자 메일을 받으면 본체에 있습니다.

이메일을 수신하면보기 소스를 보거나 원본 또는 이메일 클라이언트가 호출 한 것을 봅니다. 당신은 이메일에서이 같은 내용을 볼 수있을 것이다

--Apple-Mail-1-494911569 
Content-Disposition: attachment; 
    filename=myFile 
Content-Type: text/plain; 
    name=myFile 
Content-Transfer-Encoding: 7bit 

Text of the file here. 

--Apple-Mail-1-494911569 

당신은 이메일, 파일이 제대로 연결되고 있음을 볼 경우

. 전자 메일 클라이언트가 Content-Disposition MIME 헤더를 무시하고있을 가능성이 있습니다. Gmail과 Apple 메일의 경우 위와 같은 이메일 섹션이 첨부 파일로 표시됩니다.

NSData *textData = [[self getEmailAttachment] dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *htmlData = [self getEmailBodyHTML]; 

/* Set up the mail compose view and put in the body/attachment */ 
MFMailComposeViewController *mailComposer = [[[MFMailComposeViewController alloc] init] autorelease]; 
[mailComposer setMessageBody:htmlData isHTML:NO]; 
[mailComposer addAttachmentData:textData mimeType:@"text/plain" fileName:@"tripometer_report.csv"]; 

/* Set default subject */ 
[mailComposer setSubject:@"Email subject"]; 

mailComposer.mailComposeDelegate = self;  
[self presentModalViewController:mailComposer animated:YES]; 
관련 문제