我正在开发一个数据采集应用程序,旨在帮助医生拍摄皮肤病的照片,以便后续用于AI/ML分析。因此,我的应用程序将包含一个拍照按钮,以及四个用于标记疾病名称的标签或按钮(如水痘、湿疹等)。用户拍摄照片后,可以点击相应的按钮来标记图片。我希望所有标记为同一疾病的图片都能被保存到一个同名文件夹/相册中。
我已经设计了带有按钮的界面,并且能够保存图片,但这些图片保存在相册中。我在网上搜索了很多,但没有找到关于如何创建自定义文件夹并将图片保存到其中的确切解决方案。如果有人能提供帮助,我将非常感激。
回答:
该函数将用于将照片保存到应用程序内的特定文件夹中,而不是手机的相册中。fileName是您为图片设定的名称,fileFolder是疾病的类型,例如水痘。
func SaveImage(fileName: String, fileFolder: String, image: UIImage){ var objCBool: ObjCBool = true let mainPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]; let folderPath = mainPath + "/Diseases/\(fileFolder)/" let isExist = FileManager.default.fileExists(atPath: folderPath, isDirectory: &objCBool) if !isExist { do { try FileManager.default.createDirectory(atPath: folderPath, withIntermediateDirectories: true, attributes: nil) } catch { print(error) } } let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! let imageName = "\(filename).png" let imageUrl = documentDirectory.appendingPathComponent("/Diseases/\(fileFolder)/\(imageName)") if let data = image.pngData(){ do { try data.write(to: imageUrl) print("SAVED IMAGE") } catch { print("error saving", error) } }}