2011-04-11 61 views
2

我已经成功地在应用程序中收到了在我的应用程序中工作的电子邮件,但是无法通过电子邮件发送附件。我正在尝试通过电子邮件发送核心数据.sqlite文件。该电子邮件发送罚款,但当我收到它没有附件。我试图制作一份文件并发送电子邮件,但仍然不好。从iphone应用程序文档文件夹中发送一个文件

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentPath = [searchPaths objectAtIndex:0]; 
NSString *path = [[NSString alloc] initWithFormat:@"%@/data.sqlite",documentPath]; 
NSString *Newpath = [[NSString alloc] initWithFormat:@"%@/newData.sqlite",documentPath]; 
NSURL *theFileUrl = [NSURL URLWithString:Newpath]; 
[[NSFileManager defaultManager] copyItemAtPath:path toPath:Newpath error:nil]; 
NSData *data = [NSData dataWithContentsOfURL: theFileUrl]; 

NSLog(@"%@",documentPath); 
NSLog(@"%@",path); 



[controller setSubject:@"Backup"]; 
[controller addAttachmentData:data mimeType:@"application/x-sqlite3" fileName:@"data.sqlite"]; 
[controller setMessageBody:@"testing." isHTML:NO]; 
[self presentModalViewController:controller animated:YES]; 
[controller release]; 

感谢您的帮助

+0

你最初把你的data.sqlite文件放在资源或直接文件(手动)的位置?.....请检查文件中是否存在data.sqlite或不... – Ravin 2011-04-11 05:12:02

+0

Set在您设置数据后查看是否确实设置了断点。我将您的电子邮件附件代码与我自己的工作代码进行了比较,看起来正确 – Bemmu 2011-04-11 05:33:28

回答

2

使用此方法dataWithContentsOfFile:不是dataWithContentsOfURL创建data。因为它可能需要file:///协议服务。 谢谢,

+0

就是这样,非常感谢。 – Darc 2011-04-11 07:17:16

相关问题