0

我想用 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 在邮件中向我显示了一个文件图标,但我无法获得任何文件。

请帮帮我。谢谢...

4

3 回答 3

2

线索...

addAttachmentData:NULL

您需要实际附加数据。文件名只是您选择给文件的名称,它没有其他用途,并不意味着使用该名称附加文件。

MFMailComposeViewController 文档说明了这一点。

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

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

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

于 2011-04-20T11:52:45.003 回答
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];
于 2011-04-20T11:58:28.923 回答
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!");
}
于 2011-04-20T12:02:16.030 回答