iPhone – 从本地文件的URL的NSData

我有一个NSURL对象,它给了我一个本地文件的path(在文档文件夹中)。 我想用这个文件的内容填充一个NSData对象。 尝试使用dataWithContentsOfURL:但这失败。 我知道该文件存在,因为iPhone SDK返回path。

有人可以告诉我如何从本地文件的URL获取NSData对象?

谢谢。

 // 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的答案很有帮助

(我正在使用手机插件捕捉图像后,下面的path

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

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

如果让videoURL = URL(string:urlString),让videodata =尝试? 数据(contentsOf:videoURL){//在这里添加Alamofire的代码}