3

我在将一些数据保存到文件时遇到问题。以下行返回 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 变量)。

谢谢阅读!任何关于这方面的想法都会很棒。

4

2 回答 2

2

如果fileString以开头,file://那么这不是路径,它是文件 URL 的 URL 字符串。

如果你从一个NSURL对象开始,得到fileString如下:

fileString = [someURL absoluteString];

然后将其更改为:

fileString = [someURL path];

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

如果要编写NSDataobject photoData,另一种选择是:

[photoData writeToURL:someURL atomically:YES];
于 2012-12-16T00:53:52.627 回答
0

对于像我这样寻找这个错误但没有运气的人来说,这是一个额外的答案。

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

于 2015-02-23T17:28:41.123 回答