在iOS中将视频附加到电子邮件
我正在尝试将视频附加到电子邮件。这不是本地视频,所以我将其写入文件。然后我从该文件中获取数据并将其附加到电子邮件中。当电子邮件出现时,唯一的文件名是“video.mp4”,没有视频在iOS中将视频附加到电子邮件,ios,objective-c,nsdata,mfmailcomposeviewcontroller,Ios,Objective C,Nsdata,Mfmailcomposeviewcontroller,我正在尝试将视频附加到电子邮件。这不是本地视频,所以我将其写入文件。然后我从该文件中获取数据并将其附加到电子邮件中。当电子邮件出现时,唯一的文件名是“video.mp4”,没有视频 MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; controller.mailComposeDelegate = self; NSData *videoData = [NSData dataW
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
NSData *videoData = [NSData dataWithContentsOfURL:url];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *tempPath = [documentsDirectory stringByAppendingFormat:@"/video.mp4"];
NSLog(@"writing");
BOOL success = [videoData writeToFile:tempPath atomically:NO];
if (success){
NSError *error = nil;
NSData *data = [NSData dataWithContentsOfFile:tempPath];
NSLog(@"path: %@", tempPath);
if (error) {
NSLog(@"%@", [error localizedDescription]);
}else{
[controller addAttachmentData:data mimeType:@"video/mp4" fileName:@"video.mp4"];
NSLog(@"Data has loaded successfully.");
}
}
我认为唯一的尝试方法是将邮件格式化为HTML。否则,您将始终发送附件
NSString *messageBody = @" /*Some HTML format containing HTML5 video player*/";
[controller setMessageBody:messageBody isHTML:YES];
所以你需要为你的视频寻找合适的CSS和HTML标签。但别忘了用大多数电子邮件客户端测试它,因为您可能会看到不同的外观。您确定它不成功吗?根据我的经验,这就是视频附件的所有
MFMailComposeViewController
显示。你有没有看过你收到的电子邮件,看看是否有附加MP4?@Linuxios你说得对,它确实发送了。你知道有没有办法在电子邮件中显示视频?我不确定用户是否会理解,如果电子邮件中只写了“video.mp4”,那么视频是附加的。