我在将一些数据保存到文件时遇到问题。以下行返回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变量)。
感谢阅读!对此的任何想法都会很棒。
答案 0 :(得分:2)
如果fileString
以file://
开头,那么这不是路径,而是文件网址的网址字符串。
如果您使用NSURL
对象开始并获得fileString
,如下所示:
fileString = [someURL absoluteString];
然后将其更改为:
fileString = [someURL path];
现在fileString
将有一个有效的文件路径,您可以将其传递给createFileAtPath:
方法。
如果你想写NSData
对象photoData
,另一个选择就是:
[photoData writeToURL:someURL atomically:YES];
答案 1 :(得分:0)
像我这样的人来寻找这个错误但没有运气的另一个答案。
如果您的文件名太长,您似乎也会看到相同的错误消息。限制似乎约为250个字符。