如何将图像文件上传到MacOS应用程序?

问题描述 投票:0回答:1

我正在创建一个应用程序,要求用户将图像文件上传到该应用程序。 在应用程序中,我想获取它的信息(尺寸等)并显示它。

这是我尝试过的:

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 存在。

swift macos image swiftui nsimage
1个回答
0
投票

问题是 Xcode 项目的文件访问选项被禁用。通过启用它们,可以正确读取图像。

© www.soinside.com 2019 - 2024. All rights reserved.