2013-01-05 49 views
0

MFMailComposer中,我附加了MSWord文档。这些文件附于MFMailComposer。我将这些文件发送到另一个邮件地址。在目标邮件中,这些附件将显示一个下载选项,而不是一个查看选项。无法在MFMailComposer中附加MSWord文档

我使用这个代码

NSURL *url = [[NSURL alloc] initWithString:self.fileString]; 
NSData *attachments = [NSData dataWithContentsOfURL:url]; 
[mailView addAttachmentData:attachments mimeType:@"application/pdf/text/msword/csv" fileName:self.useridString]; 
+0

您能否分享您用于设置附件的代码? –

+0

你确定这是正确的MIME类型吗?网上的参考资料表明应用程序/ msword。 –

+0

在我的应用程序中,我想发送pdf,msword和文本格式的文件 – Goutham

回答

0

你必须设置MSWORD文件的MIME类型..

"application/msword" MIME类型是为Word 2003名为 “.doc” 文件类型。正确的MIME类型的Word 2007 “的.docx” 文件是:

application/vnd.openxmlformats-officedocument.wordprocessingml.document 

和更MSWORD MIME类型,使用这些链接link1link2

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
    picker.mailComposeDelegate = self; 
    [picker setSubject:@"Your Subject"]; 
    [picker addAttachmentData:yourData mimeType:@"application/csv" fileName:@"fileName"]; 
    [picker addAttachmentData:yourData mimeType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" fileName:@"fileName"]; 
    } 

编辑: 检查URL包含甲。我的意思是这url包含.pdf并获得该pdf。等等...

NSArray *arrayComp = [self.fileString componentsSeparatedByString:@"/"]; 
    NSString *fileType = [[[arrayComp lastObject] componentsSeparatedByString:@"."] lastObject]; 
    NSString *mimeType = [NSString stringWithFormat:@"application/%@",fileType]; 

    NSURL *url = [[NSURL alloc] initWithString:self.fileString]; 
    NSData *attachments = [NSData dataWithContentsOfURL:url]; 
    [picker addAttachmentData:attachments mimeType:mimeType fileName:@"fileName"]; 

我认为这将是对你有所帮助。

+0

我想用pdf,msword和文本格式发送文件 – Goutham

+0

您必须逐个附加数据文件类型wise.I编辑了我的代码。 –

+0

非常感谢你 – Goutham