请帮帮我!尽管我在电子邮件中看到图标文件附件,但我可以发送图像但不能发送pdf文件。 我的代码:
MFMailComposeViewController *sendmailview = [[MFMailComposeViewController alloc] init];
sendmailview.mailComposeDelegate = self;
// I can send image with:
// UIImage *roboPic = [UIImage imageNamed:@"Default.png"];
// NSData *imageData = UIImageJPEGRepresentation(roboPic, 1);
// [sendmailview addAttachmentData:imageData mimeType:@"image/png" fileName:@"Default.png"];
// But Can't send pdf file
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *file = [documentsDirectory stringByAppendingFormat:@"book.pdf"];
NSMutableData *data=[NSMutableData dataWithContentsOfFile:file];
[sendmailview addAttachmentData:data mimeType:@"application/pdf" fileName:@"book.pdf"];
// I see icon book.pdf when attach,but when i sent mail,mail receiver not see pdf file...
[self presentModalViewController:sendmailview animated:YES];
[sendmailview release];
帮助我........
谢谢!
答案 0 :(得分:3)
使用
NSString *file = [documentsDirectory stringByAppendingFileComponent:@"book.pdf"];
而不是
NSString *file = [documentsDirectory stringByAppendingFormat:@"book.pdf"];
此外,数据可以是NSData
,而不是NSMutableData
。
NSData *data = [NSData dataWithContentsOfFile:file];
最后,您确定PDF文件出现在您所指的路径上吗?变量数据有效吗?