2012-01-27 4 views
0

Все, В моем требовании необходимо отправить почту с прикрепленным текстовым файлом, который находится в каталоге документа. Здесь я могу получить путь к файлу, который находится в каталоге документа. Как присоединить файл из моего ipad для отправки.Получить текстовый файл из каталога документов ipad

вот код, который я пытался

MFMailComposeViewController *picker=[[MFMailComposeViewController alloc]init]; 
picker.mailComposeDelegate=self; 

if ([MFMailComposeViewController canSendMail]){ 
    // Create and show composer 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); 
    NSLog(@"directry path %@",paths); 
    NSString *fullPath = [[paths lastObject] stringByAppendingPathComponent:@"Logs/log-858743.txt"]; 

    NSLog(@"directry full path %@",fullPath); 
    NSData *data = [NSData dataWithContentsOfFile: fullPath]; 
    NSLog(@"Data value %@",data); 

    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:fullPath]; 
    if (fileExists) { 
     NSLog(@"file is there"); 
    }else{ 
     NSLog(@"file is not there"); 
    } 

    [picker setSubject:@"Backup"]; 
    [picker addAttachmentData:data mimeType:@"text/rtf" fileName:@"log.txt"]; 
    [picker setMessageBody:@"testing." isHTML:NO]; 
    [self presentModalViewController:picker animated:YES]; 
    [picker release]; } 
else{ 
    // Show some error message here 
} 

ответ

0

Вот образец, попробуйте этот

MFMailComposeViewController *mViewController = [[MFMailComposeViewController alloc] init]; 
mViewController.mailComposeDelegate = self; 

//Imposto l'oggetto 
[mViewController setSubject:@"Invio Copia Commissione"]; 

//Preparo l' A: Devo spezzare gli indirizzi E-mail 
NSArray *toRecipients = [NSArray arrayWithArray:[Globals.AEmail componentsSeparatedByString:@";"]]; 
[mViewController setToRecipients:toRecipients]; 


//Preparo il Cc: Devo spezzare gli indirizzi E-mail 
if ([Config.EmailAgg length] != 0) { 
    NSArray *CcRecipients = [NSArray arrayWithArray:[Config.EmailAgg componentsSeparatedByString:@";"]]; 
    [mViewController setCcRecipients:CcRecipients]; 
} 

//Setto il corpo dell'E-mail 
[mViewController setMessageBody:Globals.TestoEmail isHTML:NO]; 


//A questo punto visto che ho fatto 30 salvo il testo anche come file allegato dell'E-mail 
[Globals.TestoEmail writeToFile:[NSString stringWithFormat:@"%@/CopiaCommissione.txt", Globals.DocumentsPath] atomically:TRUE encoding:NSUTF8StringEncoding error:nil]; 
NSData *Allegato = [NSData dataWithContentsOfFile:[NSString stringWithFormat:@"%@/CopiaCommissione.txt", Globals.DocumentsPath]]; 
[mViewController addAttachmentData:Allegato mimeType:@"text/plain" fileName:@"CopiaCommissione.txt"]; 


[self presentModalViewController:mViewController animated:YES]; 
[mViewController release]; 

попробовать изменить MIMETYPE в вашем коде, как этот

[picker addAttachmentData:data mimeType:@"text/plain" fileName:@"log.txt"]; 
+0

Как использовать это новичок для iphone – ganesh

+0

попробуйте изменить [picker addAttachmentData: data mimeType: @ "text/rtf" fileName: @ "l og.txt "]; С помощью [picker addAttachmentData: data mimeType: @ "text/plain" fileName: @ "log.txt"]; – Tommaso

Смежные вопросы