将图像文件写入Xcode中的目录时出错。函数data.writeToFile
返回错误。这是我想要做的:
获取文件路径:
func getPath(fileName: String) -> String {
let documentURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let folder = "sampleDirectory"
return documentURL.URLByAppendingPathComponent(folder).URLByAppendingPathComponent(fileName).path!
}
保存图片
func saveImage(image: UIImage, path: String) -> Bool {
let pngImageData = UIImagePNGRepresentation(image)
do {
let success = try pngImageData?.writeToFile(path, options: NSDataWritingOptions.init(rawValue: 0))
} catch {
print(error)
}
return false
}
但是,有一个错误说:
NSPOSIXErrorDomain - code : 2
有谁知道问题可能是什么?
EDIT 我在哪里调用代码:
let fileName = "first_image"
let imagePath = self.getPath(fileName)
let result = self.saveImage(processedImage, path: imagePath)
processedImage的类型为UIImage!
答案 0 :(得分:1)
尝试创建目录" sampleDirectory"如果它不存在或不使用子目录。 您可以检查目录是否存在:
if !NSFileManager.defaultManager().fileExistsAtPath(path) {
// create missing directories
try! NSFileManager.defaultManager().createDirectoryAtPath(foo, withIntermediateDirectories: true, attributes: nil)
}
您可能还想先使用首先写入辅助文件的NSDataWritingOptions.DataWritingAtomic
选项,然后在没有错误的情况下交换文件