我想用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向我展示了邮件中的文件图标,但我无法获取任何文件。
请帮帮我。谢谢......
答案 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!");
}