我正在尝试将视频附加到电子邮件中。它不是本地视频,所以我将其写入文件。然后我从该文件中获取数据,并将其附加到电子邮件中。当电子邮件出现时,唯一的事情是没有视频的文件名"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.");
}
}发布于 2018-06-06 13:42:07
我认为唯一可以尝试的方法是将邮件格式化为HTML。否则,您将始终发送附件。
NSString *messageBody = @" /*Some HTML format containing HTML5 video player*/";
[controller setMessageBody:messageBody isHTML:YES];所以你需要为你的视频寻找合适的CSS和HTML标签。但不要忘记使用大多数电子邮件客户端进行测试,因为您可能会看到不同的外观。
https://stackoverflow.com/questions/50707734
复制相似问题