将内容从一个文件夹复制到另一个文件夹
Copy content from one folder to another
我正在尝试使用以下代码将 JPG 从一个文件夹复制或移动到另一个文件夹。
func moveItems(originPath: String, destinationPath: String, successBlock:@escaping () -> Void, errorBlock:@escaping (_ error: Error) -> Void) {
do {
try FileManager.default.copyItem(atPath: originPath, toPath: destinationPath)
successBlock()
} catch {
print(error.localizedDescription)
errorBlock(NSError())
}
}
但我总是得到以下错误:
open on
/var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImages/:
File exists “3A75A51A-0946-45AF-BF1D-F4EB4D71ED68.png” couldn’t be
copied to “Documents” because an item with the same name already
exists.
有两个问题我不明白。一个是目标文件夹不是错误所指的 "Documents",另一个是 JPG 仅存在于 destinationPath 文件夹中。
(lldb) po originPath
"/var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImagesSync/3A75A51A-0946-45AF-BF1D-F4EB4D71ED68.png"
(lldb) po destinationPath
"/var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImages/"
您应该在 destinationPath 中附加文件名。这对你有用。
我正在尝试使用以下代码将 JPG 从一个文件夹复制或移动到另一个文件夹。
func moveItems(originPath: String, destinationPath: String, successBlock:@escaping () -> Void, errorBlock:@escaping (_ error: Error) -> Void) {
do {
try FileManager.default.copyItem(atPath: originPath, toPath: destinationPath)
successBlock()
} catch {
print(error.localizedDescription)
errorBlock(NSError())
}
}
但我总是得到以下错误:
open on /var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImages/: File exists “3A75A51A-0946-45AF-BF1D-F4EB4D71ED68.png” couldn’t be copied to “Documents” because an item with the same name already exists.
有两个问题我不明白。一个是目标文件夹不是错误所指的 "Documents",另一个是 JPG 仅存在于 destinationPath 文件夹中。
(lldb) po originPath "/var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImagesSync/3A75A51A-0946-45AF-BF1D-F4EB4D71ED68.png"
(lldb) po destinationPath "/var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImages/"
您应该在 destinationPath 中附加文件名。这对你有用。