我正在使用saveImage保存一张图片。
func saveImage (image: UIImage, path: String ) -> Bool{
let pngImageData = UIImagePNGRepresentation(image)
//let jpgImageData = UIImageJPEGRepresentation(image, 1.0) // if you want to save as JPEG
print("!!!saving image at: \(path)")
let result = pngImageData!.writeToFile(path, atomically: true)
return result
}
最新信息:
保存文件无法正常工作(会打印出“[-] ERROR SAVING FILE”)--
// save your image here into Document Directory
let res = saveImage(tempImage, path: fileInDocumentsDirectory("abc.png"))
if(res == true){
print ("[+] FILE SAVED")
}else{
print ("[-] ERROR SAVING FILE")
}
为什么saveImage函数不能保存图像?是访问权限的问题吗?
旧信息:
调试信息如下:
!!!saving image at: file:///var/mobile/Applications/BDB992FB-E378-4719-B7B7-E9A364EEE54B/Documents/tempImage
然后我使用以下方法检索这个位置
fileInDocumentsDirectory("tempImage")
结果是正确的。
然后,我正在使用这个路径加载文件
let image = UIImage(contentsOfFile: path)
if image == nil {
print("missing image at: \(path)")
}else{
print("!!!IMAGE FOUND at: \(path)")
}
路径是正确的,但是显示“缺少图片...”。这个文件是否无法访问或未存储?造成这种行为的原因是什么?
我正在使用iOS 7上的iPhone 4和iOS 7模拟器上的iPhone 5进行测试。
编辑: 1. fileInDocumentsDirectory函数。
func fileInDocumentsDirectory(filename: String) -> String {
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent(filename).absoluteString
return fileURL
}