【问题标题】:how to email file from documents directory of iphone app如何从 iPhone 应用程序的文档目录通过电子邮件发送文件
【发布时间】:2013-05-13 08:43:24
【问题描述】:

我正在保存文件文档目录之后我想通过电子邮件发送该文件但问题是它没有附加我认为问题是由于路径冲突或其他任何东西这里是我保存文件的代码。

// 从 iOS 设备检索文档目录

     NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
     NSString* documentDirectory = [documentDirectories objectAtIndex:0];
     NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];

// 指示可变数据对象将其上下文写入磁盘上的文件

    [pdfData writeToFile:documentDirectoryFilename atomically:YES];
    NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);

这是我用于通过电子邮件发送此文件的代码

    - (NSString *)pathForFile : (NSString *) fileName{

    return [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent: fileName];
    }

  - (void) sendMailWithAttachedFile : (NSString *) fileName :(NSString *) extension{


MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
//    NSURL* outputURL = [[NSURL alloc] initFileURLWithPath:[self pathForResourse:fileName ofType:extension]];
NSURL* outputURL = [[NSURL alloc] initFileURLWithPath:[self pathForFile:[NSString stringWithFormat:@"%@.%@", fileName, extension]]];
NSData *data=[[NSData alloc]initWithContentsOfURL:outputURL];
[picker addAttachmentData:data mimeType:@"documents/pdf" fileName:@"TestOne.pdf"];
[self presentModalViewController:picker animated:YES];
}


  -(IBAction)onEmailResultPDF{


[self sendMailWithAttachedFile:@"TestOne":@"pdf"];

}

【问题讨论】:

    标签: iphone ipad email pdf nsdocumentdirectory


    【解决方案1】:
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;
    
    NSString *fileName = [[NSString alloc]initWithFormat:@"%@.pdf",giveFileName];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
    
    NSMutableData *myPdfData = [NSMutableData dataWithContentsOfFile:pdfFileName];
    [picker addAttachmentData:myPdfData mimeType:@"application/pdf" fileName:giveFileName];
    [self.navigationController presentViewController:picker animated:YES completion:nil];
    

    【讨论】:

    • 我想这会对你有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多