Objective c 使用mailcore附加照片阵列
我需要使用MailCore将一组照片附加到电子邮件中。我在另一个问题中发现了以下代码,但我不确定如何将其应用于我的应用程序中使用相机拍摄的照片 我的猜测是,我必须获取照片的文件名,并将它们作为字符串保存到数组中,然后使用代码片段将字符串附加到电子邮件中Objective c 使用mailcore附加照片阵列,objective-c,swift,mailcore2,mailcore,Objective C,Swift,Mailcore2,Mailcore,我需要使用MailCore将一组照片附加到电子邮件中。我在另一个问题中发现了以下代码,但我不确定如何将其应用于我的应用程序中使用相机拍摄的照片 我的猜测是,我必须获取照片的文件名,并将它们作为字符串保存到数组中,然后使用代码片段将字符串附加到电子邮件中 NSArray *allAttachments = [NSArray arrayWithObjects:@{@"FilePathOnDevice": @"/var/mobile/etc..", @"FileTitle": @"IMG_0522.J
NSArray *allAttachments = [NSArray arrayWithObjects:@{@"FilePathOnDevice": @"/var/mobile/etc..", @"FileTitle": @"IMG_0522.JPG"}, nil];
for (int x = 0; x < allAttachments.count; x++) {
NSString *attachmentPath = [[allAttachments objectAtIndex:x] valueForKey:@"FilePathOnDevice"]];
MCOAttachment *attachment = [MCOAttachment attachmentWithContentsOfFile:attachmentPath];
[msgBuilder addAttachment:attachment];
}
谢谢你的帮助 我最终将图像保存到documents目录,并使用该文件路径将图像附加到mailcore 以下是我的图像选择器代码:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
imagePicker.sourceType = .Camera
imagePicker.dismissViewControllerAnimated(true, completion: nil)
var photo = info[UIImagePickerControllerOriginalImage] as? UIImage
bedroomCells[lastSelectedIndex!.row].image = photo
var photoLabel = bedroomCells[lastSelectedIndex!.row].text
tableView.reloadData()
//save photo to document directory
var imageData = UIImageJPEGRepresentation(photo, 1.0)
var imageFilePath = fileDirectory[0].stringByAppendingPathComponent("\(photoLabel!).jpg")
var imageFileURL = NSURL(fileURLWithPath: imageFilePath)
imageData.writeToURL(imageFileURL!, atomically: false)
}
以及我的mailcore方法的代码:
MCOMessageBuilder * builder = [[MCOMessageBuilder alloc] init];
NSString *documentsDirectory = [fileDirectory objectAtIndex:0];
NSArray *allAttachments = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
for (int x = 0; x < allAttachments.count; x++) {
NSString *attachmentPath = [documentsDirectory stringByAppendingPathComponent:[allAttachments objectAtIndex:x]];
MCOAttachment *attachment = [MCOAttachment attachmentWithContentsOfFile:attachmentPath];
[builder addAttachment:attachment];
}
MCOMessageBuilder*builder=[[MCOMessageBuilder alloc]init];
NSString*documentsDirectory=[fileDirectory对象索引:0];
NSArray*allAttachments=[[NSFileManager defaultManager]子路径目录路径:documents目录错误:nil];
对于(int x=0;x
在swift代码中:
var dataImage: NSData?
dataImage = UIImageJPEGRepresentation(image, 0.6)!
var attachment = MCOAttachment()
attachment.mimeType = "image/jpg"
attachment.filename = "image.jpg"
attachment.data = dataImage
builder.addAttachment(attachment)
您需要先将图像选取器返回的UIImage保存到文件中,然后才能附加它。谢谢,我使用了此方法,并且能够找到我自己问题的答案。是否有方法转换为Swift?
var dataImage: NSData?
dataImage = UIImageJPEGRepresentation(image, 0.6)!
var attachment = MCOAttachment()
attachment.mimeType = "image/jpg"
attachment.filename = "image.jpg"
attachment.data = dataImage
builder.addAttachment(attachment)