source

이미지를 문서 디렉토리에 저장하고 전자 메일 첨부 파일을 검색하는 중

nicesource 2023. 8. 12. 10:25
반응형

이미지를 문서 디렉토리에 저장하고 전자 메일 첨부 파일을 검색하는 중

나는 이해하는데 어려움을 겪고 있습니다.NSBundleDocumentDirectory 데이터, 카메라 사진 "imageView"를 저장하고 있습니다.NSDocumentDirectoy이메일에 첨부하기 위해 검색하고 싶습니다.

저장 코드:

- (IBAction)saveImage {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
    UIImage *image = imageView.image; // imageView is my image from camera
    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:NO];   
}

다음은 새로운 데이터 코드 가져오기입니다.

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
    NSData *myData = [[[NSData alloc] initWithContentsOfFile:appFile] autorelease];
    [picker addAttachmentData:myData mimeType:@"image/png" fileName:@"savedImage"];
- (IBAction)getImage {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
    UIImage *img = [UIImage imageWithContentsOfFile:getImagePath];
}

이것이 당신을 시작하게 할 것입니다!

스위프트 3

// Create a URL
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
let imageURL = documentsURL?.appendingPathComponent("MyImageName.png")

// save image to URL
let myImage = imageView.image! // or wherever you have your UIImage

do {
    try UIImagePNGRepresentation(myImage)?.write(to: imageURL!)
} catch {}


// Use the URL to retrieve the image for sharing to email, social media, etc.
// docController.URL = imageURL
// ...

간결함을 위해 일부 옵션을 강제로 풀었습니다. 사용guard또는if let당신의 코드로.

각 iPhone 앱은 자체 샌드박스에 있으므로 장치 전체 문서 폴더에 액세스할 수 없습니다.이미지를 전자 메일에 첨부하려면 이미지를 자신의 문서 폴더에 저장합니다.[@"~/Documents" StringBy 사용 시도[TildeInPath]를 확장하여 로컬 문서 폴더를 가져옵니다.전자 메일에 이미지를 첨부하는 데 사용하는 방법이 올바른 것 같습니다.

도움이 되길 바랍니다.

사용해 보십시오.

 -(void)setProfilePic
{
  NSArray *docpaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentsDirectory = [docpaths objectAtIndex:0];
  NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:@"Image.png"];

  NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL fileURLWithPath:imagePath]];
  UIImage *thumbNail = [[UIImage alloc] initWithData:imgData];
  [profilePic_btn setBackgroundImage:thumbNail forState:UIControlStateNormal];
}

언급URL : https://stackoverflow.com/questions/2037432/saving-image-to-documents-directory-and-retrieving-for-email-attachment

반응형