在SKPSMTPMessage中附加一个视频



我在应用程序的文档目录中存储了一个VideoClip.mp4。我可以成功地用SKPSMTPMessage发送电子邮件,(电子邮件、主题、正文等),但我在附加视频时遇到了问题。我已经到处找了很多,但我会继续找的。如果有人能帮助我,我将不胜感激。非常感谢。

这个代码(显然)附加了一个图像,但我还没能弄清楚如何操作它来附加视频:

NSString *image_path = [[NSBundle mainBundle] pathForResource:@"Success" ofType:@"png"];
NSData *image_data = [NSData dataWithContentsOfFile:image_path];
NSDictionary *image_part = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"inline;rntfilename=\"Success.png\"",kSKPSMTPPartContentDispositionKey,
                            @"base64",kSKPSMTPPartContentTransferEncodingKey,
                            @"image/png;rntname=Success.png;rntx-unix-mode=0666",kSKPSMTPPartContentTypeKey,
                            [image_data encodeWrappedBase64ForData],kSKPSMTPPartMessageKey,
                            nil];

这是一个迟来的答案,但希望它能帮助到别人。假设您知道文档目录(videoPath)中视频文件的路径,则代码如下:

NSData *videoData = [NSData dataWithContentsOfFile: videoPath];
NSDictionary *videoPart = [NSDictionary dictionaryWithObjectsAndKeys:@"video/quicktime;rntx-unix-mode=0644;rntname="video.mov"",kSKPSMTPPartContentTypeKey,
                                     @"attachment;rntfilename="video.mov"",kSKPSMTPPartContentDispositionKey,[videoData encodeBase64ForData],kSKPSMTPPartMessageKey,@"base64",kSKPSMTPPartContentTransferEncodingKey,nil];

然后,您可以像这样将其附加到SKPSMTPMessage *testMsg对象(假设您已经设置了testMsg所需的其余属性,如凭据等):

testMsg.parts = [NSArray arrayWithObjects: videoPart,nil];

相关内容

最新更新