gpt4 book ai didi

ios - 如何从 UIDocumentPicker 获取正确的文件名,didPickDocumentsAt urls : [URL]

转载 作者:行者123 更新时间:2023-11-29 05:52:54 25 4
gpt4 key购买 nike

我试图从 UIDocumentPickerViewController 获取带有扩展名的选定文件名,但文件名的文件扩展名末尾有“]”。关于什么是正确的方法有什么建议吗?

这是我的代码:

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
let filename = URL(fileURLWithPath: String(describing:urls)).lastPathComponent // print: myfile.pdf]
self.pickedFile.append(filename)
// display picked file in a view
self.dismiss(animated: true, completion: nil)
}

最佳答案

切勿将 String(describing:) 用于调试输出以外的任何内容。您的代码正在生成 URL 实例数组的调试输出。该输出将类似于:

[file:///some/directory/someFileA.ext,file:///some/directory/otherFile.ext]

当然,数组输出将包含选择的多个文件。

然后,您尝试从 URL 实例数组的调试输出创建一个文件 URL,然后获取该文件的最后一个路径组件。这就是为什么您会得到尾随的 ]

只需从数组中访问所需的元素即可。不要创建新的 URL

if let filename = urls.first?.lastPathComponent {
self.pickedFile.append(filename)
}

更好的是,将它们全部添加:

for url in urls {
self.pickedFile.append(url.lastPathComponent)
}

关于ios - 如何从 UIDocumentPicker 获取正确的文件名,didPickDocumentsAt urls : [URL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55507394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com