Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios dataWithContentsOfFile返回null_Ios_Nsdata - Fatal编程技术网

Ios dataWithContentsOfFile返回null

Ios dataWithContentsOfFile返回null,ios,nsdata,Ios,Nsdata,imageData为空 NSString *path = dict[@"fileURL"]; NSData *imageData = [NSData dataWithContentsOfFile:path]; 我下载了设备容器,图像确实存在。 怎么了?检索您的文件失败。使用-dataWithContentsOfFile:options:error:查找失败的原因 dict[@"fileURL"] = /var/mobile/Containers/Data/Application/0906AB5

imageData为空

NSString *path = dict[@"fileURL"];
NSData *imageData = [NSData dataWithContentsOfFile:path];
我下载了设备容器,图像确实存在。
怎么了?

检索您的文件失败。使用
-dataWithContentsOfFile:options:error:
查找失败的原因

dict[@"fileURL"] =
/var/mobile/Containers/Data/Application/0906AB53-CE1F-45EF-8E00-9D0B7C98956C/Documents/ccc/image/1446625127.png

我认为您应该使用
[NSFileManager defaultManager]
在应用程序存储中存储和获取映像,而不是写入静态路径

使用模拟器静态路径是可以的,但在真实环境中,您应该需要实际路径。因此,
[NSFileManager defaultManager]
将帮助您

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
}
filepath
中,您只需要传递文件夹和文件名。不是像你这样的完整路径

注意:
这不是一个实际的答案。这将帮助您将图像管理到应用程序存储中。

如何获取文件URL?动态创建路径,不要保存整个路径,而是保存相对路径。为什么路径是动态的?阅读:和您好。您试图获取的图像存储在您的应用程序存储中?原因是此路径与我保存的路径不同,因此旧路径中不存在文件。在设备/Simuta中,或者如果您每次运行一次该路径,则保存相关路径不保存整个路径路径路径是在安装时确定的。每次在模拟器/设备中运行应用程序时,都会将其删除并重新安装。因此,路径不同。所以你不用担心这个。@Anbu.Karthik我还是有点困惑。这是否意味着在使用Xcode模拟器时,我们无法从先前保存到数据库的路径重新加载图像?使用“NSData*data=[NSData dataWithContentsOfFile:photo1Path];”时,我也会得到“null”数据。
if([[NSFileManager defaultManager] fileExistsAtPath:filepath)
{
   NSData *data = [[NSFileManager defaultManager] contentsAtPath:filepath];
}
else
{
   NSLog(@"File not exits");
}
filepath = "Documents/ccc/image/1446625127.png";