Program Tip

iPhone-로컬 파일 URL의 NSData

programtip 2020. 10. 4. 13:12
반응형

iPhone-로컬 파일 URL의 NSData


NSURL에게 (문서 폴더에서) 로컬 파일의 경로를 제공 하는 개체가 있습니다. NSData이 파일의 내용으로 개체 를 채우고 싶습니다 . 사용해 dataWithContentsOfURL:보았지만 실패합니다. iPhone SDK이 경로를 반환 하기 때문에 파일이 존재한다는 것을 알고 있습니다 .

누군가 로컬 파일 NSData에서 객체를 가져올 수있는 방법을 알려주시겠습니까 URL?

감사.


// Given some file path URL: NSURL *pathURL
// Note: [pathURL isFileURL] must return YES
NSString *path = [pathURL path];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];

이 작업을 수행하려면 다음을 수행하면됩니다.

NSURL *imgPath = [[NSBundle mainBundle] URLForResource:@"search" withExtension:@"png"];
NSString*stringPath = [imgPath absoluteString]; //this is correct  

//you can again use it in NSURL eg if you have async loading images and your mechanism 
//uses only url like mine (but sometimes i need local files to load)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:stringPath]];
UIImage *ready = [[[UIImage alloc] initWithData:data] autorelease];

로컬 URL이 "file : //"시작하는지 확인한 다음 다음을 수행하면됩니다.

 NSData *fileData = [NSData dataWithContentsOfFile:fileURL.path];

swift3의 경우 다음 URL의 답변이 도움이되었습니다.

(phonegap 플러그인을 사용하여 이미지를 캡처 한 후 다음 경로를 얻었습니다.

file : ///var/mobile/Containers/Data/Application/B64B06DE-7976-45CF-9BE2-661F0F309A06/tmp/abcded.jpg)

https://stackoverflow.com/a/41043447/6383908

let videoURL = URL (string : urlString)이면 let videodata = try? Data (contentsOf : videoURL) {// 여기에 Alamofire 코드 추가}

참고 URL : https://stackoverflow.com/questions/1514343/iphone-nsdata-from-local-files-url

반응형