简体   繁体   English

如何在iOS中的单个邮件中附加多个文件

[英]How to attach multiple files in single mail in iOS

I want to send multiple attachment files in single mail in iOS programatically. 我想以编程方式在iOS的单个邮件中发送多个附件文件。 I have tried the following so far: 到目前为止,我已经尝试了以下方法:

 // I give the file from array 
NSString *str_mail = [readingEmfReading objectAtIndex:0];
//  here I can encode the file
NSData *myData = [str_mail dataUsingEncoding:NSUTF8StringEncoding]
//here I can attach the file with extance of .csv
[controller addAttachmentData:myData mimeType:@".cvs" fileName:retriveEmail]  
//here I can set the body for mail 
[controller setMessageBody:@"file" isHTML:NO];
//here code for sent mail
if (controller) [self presentViewController:controller animated:YES completion:nil];

By using this code, I can only send one attachment. 通过使用此代码,我只能发送一个附件。 I want to send multiple files however. 我想发送多个文件。 How can I achieve this? 我该如何实现?

you add many time addAttachmentData and add muliple file 您添加许多时间addAttachmentData并添加多文件

try this code :- add the this line 尝试以下代码:-添加此行

NSString *str_mail = [readingEmfReading objectAtIndex:0];
//  here i can encoded the file
NSData *myData = [str_mail dataUsingEncoding:NSUTF8StringEncoding]

NSData *myData1 = [str_mail dataUsingEncoding:NSUTF8StringEncoding]
//here i can attach the file with extance of .csv
[controller addAttachmentData:myData mimeType:@".cvs" fileName:retriveEmail]  
//here i can set the body for mail 


// For second file 

NSData *myData1 = [str_mail dataUsingEncoding:NSUTF8StringEncoding]

[controller addAttachmentData:myData1 mimeType:@".cvs" fileName:retriveEmail] 

[controller setMessageBody:@"file" isHTML:NO];
//here code for sent mail
if (controller) [self presentViewController:controller animated:YES completion:nil];
if([MFMailComposeViewController canSendMail])
        {
            [mailController setMailComposeDelegate:self];
            NSString* message=@"";
            NSString *filePath;
            for (int i=0; i<filesarray.count; i++)
            {
                if (i==filesarray.count-1)
                {
                    message=[message stringByAppendingFormat:@"%@ ",[filesarray objectAtIndex:i]];
                }
                else if (i==filesarray.count-2)
                {
                    message=[message stringByAppendingFormat:@"%@ and ",[filesarray objectAtIndex:i]];
                }
                else
                    message=[message stringByAppendingFormat:@"%@, ",[filesarray objectAtIndex:i]];
                NSString *datPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
                datPath = [datPath stringByAppendingFormat:@"/%@.csv",[filesarray objectAtIndex:i]];
                filePath = datPath;
                [mailController addAttachmentData:[NSData dataWithContentsOfFile:filePath] mimeType:@"text/csv" fileName:[NSString stringWithFormat:@"%@.csv",[filesarray objectAtIndex:i]]];
            }
            [mailController setSubject:message];
            [mailController setMessageBody:@"" isHTML:NO];
            [self presentModalViewController:mailController animated:YES];
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM