createFileAtPath没有成功(“没有这样的过程”)

时间:2012-12-16 00:37:41

标签: objective-c ios

我在将一些数据保存到文件时遇到问题。以下行返回NO:

[self.fileManager createFileAtPath:fileString contents:photoData attributes:nil];

错误代码为3,错误消息为“No such process”。 fileString变量指向文件名(例如,“file:// localhost / var / mobile / Applications / ... / Library / Caches / photos / 2-86290”),photoData是一个NSData变量(虽然在调试期间鼠标悬停告诉我它实际上是一个NSConcreteData变量)。

感谢阅读!对此的任何想法都会很棒。

2 个答案:

答案 0 :(得分:2)

如果fileStringfile://开头,那么这不是路径,而是文件网址的网址字符串。

如果您使用NSURL对象开始并获得fileString,如下所示:

fileString = [someURL absoluteString];

然后将其更改为:

fileString = [someURL path];

现在fileString将有一个有效的文件路径,您可以将其传递给createFileAtPath:方法。

如果你想写NSData对象photoData,另一个选择就是:

[photoData writeToURL:someURL atomically:YES];

答案 1 :(得分:0)

像我这样的人来寻找这个错误但没有运气的另一个答案。

如果您的文件名太长,您似乎也会看到相同的错误消息。限制似乎约为250个字符。