我正在创建一个应用程序,要求用户将图像文件上传到该应用程序。 在应用程序中,我想获取它的信息(尺寸等)并显示它。
这是我尝试过的:
var body: some View {
Button(action: {
importing = true
})
{
...
}
.fileImporter(
isPresented: $importing,
allowedContentTypes: [.image]
) { result in
switch result {
case .success(let file):
print("File URL: \(file)")
if controlImage(imageURL: file) {
print("Image uploaded successfully.")
} else {
print("Image doesn't match required dimensions.")
}
case .failure(let error):
print("Failed to load the file: \(error.localizedDescription)")
}
}
}
func controlImage(imageURL: URL) -> Bool {
print("Uploading image: \(imageURL.path)")
let image: NSImage = NSImage(contentsOf: imageURL)!
let imageWidth = image.size.width
let imageHeight = image.size.height
...
}
但是当我创建 NSImage 时它说:
致命错误:解包可选值时意外发现 nil 价值
尽管图像及其 URL 存在。
问题是 Xcode 项目的文件访问选项被禁用。通过启用它们,可以正确读取图像。