在 iOS 中将视频附加到电子邮件



我正在尝试将视频附加到电子邮件中。它不是本地视频,所以我将其写入文件。然后我从该文件中获取数据并附加到电子邮件中。当电子邮件出现时,唯一的东西是文件名"video.mp4",没有视频。

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 标签。但不要忘记使用大多数电子邮件客户端对其进行测试,因为您可能会看到不同的外观。

最新更新