繁体   English   中英

文本文件在ios目标c中的邮件正文中显示为小方框

[英]Text file appear as a small box in mail body in ios objective c

在此处输入图片说明

我想通过邮件发送2个附件。 一个是图像,另一个是文本文件。 但是当我将两个附件都发送到单个邮件中时,文本文件显示为方形空白框。 图像和文本文件,两个文件都在接收方接收,并且可读。 但是唯一的问题是发件人在发送邮件之前无法在邮件正文中看到文本文件。 发送邮件的代码如下。

- (void)showEmail:(NSString*)file {    

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *dateFromString = [dateFormatter dateFromString:abc4];
    [dateFormatter setDateFormat:@"MM/dd/yyyy"];
    NSString *titledate=[dateFormatter stringFromDate:dateFromString];
    NSString *emailTitle = [NSString stringWithFormat:@"(%@)",titledate];
    [dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
    NSString *subjectdate=[dateFormatter stringFromDate:dateFromString];
    NSString *messageBody = [NSString stringWithFormat:@"%@ %@",abc,subjectdate];
    //NSArray *toRecipents = [NSArray arrayWithObject:self.txtfldEmail.text];


    MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
    mc.mailComposeDelegate = self;
    [mc setSubject:emailTitle];
    [mc setMessageBody:messageBody isHTML:NO];
    //[mc setToRecipients:toRecipents];    

    // Determine the file name and extension

    NSArray *filepart = [file componentsSeparatedByString:@"."];
    NSString *filename = [filepart objectAtIndex:0];
    NSString *extension = [filepart lastObject];

    // Get the resource path and read the file using NSData
    //NSString *filePath = [[NSBundle mainBundle] pathForResource:filename ofType:extension];   

    //NSString *xyz=[[NSUserDefaults standardUserDefaults]valueForKey:@"readpath"];
    NSData *fileData;
    NSData *fileData1;

    if ([title isEqualToString:@"Excel"]) {
        fileData = [NSData dataWithContentsOfFile:filePath];
        NSString *xyz=[[NSUserDefaults standardUserDefaults]valueForKey:@"commentfilelocation"];
        fileData1=[NSData dataWithContentsOfFile:xyz];
        NSLog(@"fileData1>>%@",fileData1);
    }
    else if([title isEqualToString:@"Screenshot"])
    {
    NSString *xyz=[[NSUserDefaults standardUserDefaults]valueForKey:@"readpath"];
    fileData = [NSData dataWithContentsOfFile:xyz];
    NSString *xyz1=[[NSUserDefaults standardUserDefaults]valueForKey:@"commentfilelocation"];
    NSLog(@"xyz1>>%@",[[NSUserDefaults standardUserDefaults]valueForKey:@"commentfilelocation"]);
    fileData1=[NSData dataWithContentsOfFile:xyz1]; 
    }

    // Determine the MIME type
    NSString *mimeType;
    if ([extension isEqualToString:@"jpg"]) {
        mimeType = @"image/jpeg";
    } else if ([extension isEqualToString:@"png"]) {
        mimeType = @"image/png";
    } else if ([extension isEqualToString:@"doc"]) {
        mimeType = @"application/msword";
    } else if ([extension isEqualToString:@"ppt"]) {
        mimeType = @"application/vnd.ms-powerpoint";
    } else if ([extension isEqualToString:@"html"]) {
        mimeType = @"text/html";
    } else if ([extension isEqualToString:@"txt"]) {
        mimeType = @"text/html";
    } else if ([extension isEqualToString:@"pdf"]) {
        mimeType = @"application/pdf";
    } else if ([extension isEqualToString:@"csv"]) {
        mimeType = @"text/csv";
    }

    NSString *mimeType1;
    if ([extension isEqualToString:@"jpg"]) {
        mimeType1 = @"image/jpeg";
    } else if ([extension isEqualToString:@"png"]) {
        mimeType1 = @"image/png";
    } else if ([extension isEqualToString:@"doc"]) {
        mimeType1 = @"application/msword";
    } else if ([extension isEqualToString:@"ppt"]) {
        mimeType1 = @"application/vnd.ms-powerpoint";
    } else if ([extension isEqualToString:@"html"]) {
        mimeType1 = @"text/html";
    }else if ([extension isEqualToString:@"txt"]) {
        mimeType1 = @"text/html";
    }else if ([extension isEqualToString:@"pdf"]) {
        mimeType1 = @"application/pdf";
    }else if ([extension isEqualToString:@"csv"]) {
        mimeType1 = @"text/csv";
    }

    // Add attachment
    [mc addAttachmentData:fileData mimeType:mimeType fileName:file];  
    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
    [dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *dateFromString1 = [dateFormatter1 dateFromString:abc4];
    [dateFormatter1 setDateFormat:@"MM.dd.yyyy"];
    NSString *titledate1=[dateFormatter1 stringFromDate:dateFromString1];
    NSString *commentfilename=[NSString stringWithFormat:@"%@ %@ comments.txt",abc,titledate1];
    [mc addAttachmentData:fileData1 mimeType:mimeType1 fileName:commentfilename];
    [![enter image description here][1]][1]
    // Present mail view controller on screen
    [self presentViewController:mc animated:YES completion:NULL];
}

邮件的屏幕截图如附件所示。

可能您应该尝试更改mime类型。 您是否尝试过使用文本/纯文本 代替

if ([extension isEqualToString:@"txt"]) {
        mimeType1 = @"text/html";
}

暂无
暂无

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

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