0

In MFMailComposer I'm attaching MSWord documents. Those documents are attached to MFMailComposer. I sent those documents to another mail address. In the destination mail those attachments are displayed with a download option and not with a view option.

i'm using this code

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

1 に答える 1

0

MSWORD ドキュメントの MIME タイプを設定する必要があります。

"application/msword"MIME タイプは、Word 2003 の「.doc」ファイルのタイプです。Word 2007 の ".docx" ファイルの正しい MIME タイプは次のとおりです。

application/vnd.openxmlformats-officedocument.wordprocessingml.document

その他の msword MIME タイプについては、これらのリンク link1 および link2 を使用ください

    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"];

お役に立てると思います。

于 2013-01-05T06:00:11.637 に答える