반응형
이미지를 문서 디렉토리에 저장하고 전자 메일 첨부 파일을 검색하는 중
나는 이해하는데 어려움을 겪고 있습니다.NSBundle
DocumentDirectory 데이터, 카메라 사진 "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
반응형
'source' 카테고리의 다른 글
호스트에서 도커 컨테이너로 파일을 복사하는 방법은 무엇입니까? (0) | 2023.08.12 |
---|---|
문자열에서 특정 문자 잘라내기 (0) | 2023.08.12 |
슬라이드 위/아래 애니메이션으로 보기 표시 및 숨기기 (0) | 2023.08.12 |
VSTS: 빌드/릴리스 변수를 Powershell 스크립트 작업으로 전달 (0) | 2023.08.12 |
도커에 안전하지 않은 레지스트리 추가 (0) | 2023.08.12 |