邮件附件会产生问题

时间:2011-04-20 11:48:41

标签: iphone attachment mfmailcomposer

我想用ny字符串创建一个csv文件并附加它。我是通过使用这些行来尝试这个

[foodString writeToFile:@"Meal.csv" atomically:YES encoding:NSUTF8StringEncoding error:NULL];
                [mailView addAttachmentData:NULL mimeType:@"text/csv" fileName:@"Meal.csv"];
                [mailView setMessageBody:@"Open attached file." isHTML:NO];

和MFMail向我展示了邮件中的文件图标,但我无法获取任何文件。

请帮帮我。谢谢......

3 个答案:

答案 0 :(得分:2)

线索......

addAttachmentData:NULL

您需要实际附加数据。文件名只是您选择提供文件的名称,没有其他用途,也不意味着附加具有该名称的文件。

MFMailComposeViewController documentation表明了这一点。

因此,你需要做这样的事情;

NSData *myData = [NSData dataWithContentsOfFile:your-full-file-path];

生成数据。请注意,您需要提供完整的文件路径,而不仅仅是名称(左侧作为读者的练习)。

答案 1 :(得分:0)

附件数据不能为空

试试这个

[foodString writeToFile:@"Meal.csv" atomically:YES encoding:NSUTF8StringEncoding error:NULL];
[mailView addAttachmentData:[NSData dataWithContentsOfFile:path_to_Meal.csv] mimeType:@"text/csv" fileName:@"Meal.csv"];
[mailView setMessageBody:@"Open attached file." isHTML:NO];

答案 2 :(得分:0)

试试这个

    NSString *filePath = @"write your file path here";

    [foodString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:NULL];
 if([[NSFileManager defaultManager]fileExistsAtPath:filePath]){
    [mailView addAttachmentData:[NSData dataWithContentsOfFile:filePath] mimeType:@"text/csv" fileName:@"Meal.csv"];
    [mailView setMessageBody:@"Open attached file." isHTML:NO];

}
else{
NSLog(@"File not created!");
}