반응형
문서 디렉토리에 이미지 저장 및 이메일 첨부 파일 검색
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 앱이 자체 샌드 박스에 있기 때문에 장치 전체 문서 폴더에 액세스 할 수 없습니다. 이메일에 이미지를 첨부하려면 자신의 문서 폴더에 이미지를 저장하십시오. 사용해보십시오 [@ "~ / 문서"StringByExpandingTildeInPath은] 나를 위해 일한다는 - 폴더를 사용자의 로컬 문서를 얻을 수 있습니다. 이메일에 이미지를 첨부하는 데 사용하는 기술이 올바른 것 같습니다.
도움이 되길 바랍니다.
이걸로 해봐 :
-(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];
}
반응형
'Nice programing' 카테고리의 다른 글
Phonegap으로 Android 서비스를 만드시나요? (0) | 2020.10.27 |
---|---|
Visual Studio 코드 분석 대 StyleCop + FxCop (0) | 2020.10.27 |
종속성 주입 및 명명 된 로거 (0) | 2020.10.27 |
Git이 파일을 바이너리 또는 텍스트로 처리하는지 확인하는 방법은 무엇입니까? (0) | 2020.10.27 |
Python : TypeError : 해시 할 수없는 유형 : 'list' (0) | 2020.10.27 |