NSString *path = dict[@"fileURL"];
NSData *imageData = [NSData dataWithContentsOfFile:path];
imageData为空
dict[@"fileURL"] =
/var/mobile/Containers/Data/Application/0906AB53-CE1F-45EF-8E00-9D0B7C98956C/Documents/ccc/image/1446625127.png
我下载设备容器,图像确实存在。 怎么了?
答案 0 :(得分:1)
无法检索您的文件。使用-dataWithContentsOfFile:options:error:
查找失败原因。
NSError* error = nil;
NSString *path = dict[@"fileURL"];
NSData *data = [NSData dataWithContentsOfFile:path options: 0 error: &error];
if (data == nil)
{
NSLog(@"Failed to read file, error %@", error);
}
else
{
// parse the value
}
答案 1 :(得分:0)
我应该使用[NSFileManager defaultManager]
来存储和获取应用程序存储中的图像,而不是编写静态路径。
静态路径可以使用模拟器,但在真实环境中,您应该需要具有实际路径。因此[NSFileManager defaultManager]
会对您有所帮助。
if([[NSFileManager defaultManager] fileExistsAtPath:filepath)
{
NSData *data = [[NSFileManager defaultManager] contentsAtPath:filepath];
}
else
{
NSLog(@"File not exits");
}
在filepath
中,您只需要传递文件夹和文件名。没有像你这样的完整路径。
IE。
filepath = "Documents/ccc/image/1446625127.png";
注意:强> 这不是一个真正的答案。这有助于您将图像管理到应用程序存储中。