1

アプリのドキュメント ディレクトリに 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;\r\n\tfilename=\\"Success.png\\"\",kSKPSMTPPartContentDispositionKey,
                            @\"base64\",kSKPSMTPPartContentTransferEncodingKey,
                            @\"image/png;\r\n\tname=Success.png;\r\n\tx-unix-mode=0666\",kSKPSMTPPartContentTypeKey,
                            [image_data encodeWrappedBase64ForData],kSKPSMTPPartMessageKey,
                            nil];
4

1 に答える 1

3

遅い回答ですが、誰かの役に立てば幸いです。ドキュメント ディレクトリ ( ) からビデオ ファイルへのパスがわかっていると仮定するとvideoPath、コードは次のようになります。

NSData *videoData = [NSData dataWithContentsOfFile: videoPath];

NSDictionary *videoPart = [NSDictionary dictionaryWithObjectsAndKeys:@"video/quicktime;\r\n\tx-unix-mode=0644;\r\n\tname=\"video.mov\"",kSKPSMTPPartContentTypeKey,
                                     @"attachment;\r\n\tfilename=\"video.mov\"",kSKPSMTPPartContentDispositionKey,[videoData encodeBase64ForData],kSKPSMTPPartMessageKey,@"base64",kSKPSMTPPartContentTransferEncodingKey,nil];

次に、次のようにオブジェクトにアタッチできます(資格情報などSKPSMTPMessage *testMsgの残りの必要なプロパティが設定されていると仮定します)。testMsg

testMsg.parts = [NSArray arrayWithObjects: videoPart,nil];
于 2012-12-10T14:06:32.790 に答える