程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在 Swift 中使用 imagePickerController 从相机获取文件名大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在 Swift 中使用 imagePickerController 从相机获取文件名?

开发过程中遇到如何在 Swift 中使用 imagePickerController 从相机获取文件名的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在 Swift 中使用 imagePickerController 从相机获取文件名的解决方法建议,希望对你解决如何在 Swift 中使用 imagePickerController 从相机获取文件名有所启发或帮助;

我是 Swift 新手,在使用相机时无法获取文件名。我的代码是这样的

func imagePickerController(_ picker: UIImagePickerController,dIDFinishPickingMediawithInfo info: [UIImagePickerController.InfoKey : Any]) {
        if let image = info[UIImagePickerController.InfoKey.originalimage] as? UIImage {
            
            if let url = info[UIImagePickerController.InfoKey.imageURL] as? URL {
                self.filename = url.lastPathComponent
                self.ImageFormat = url.pathExtension
                
                let fullnameArr = filename.components(separatedBy: ".")
                let firstname = fullnameArr[0] //First
                ImagePathforServer = firstname
                
            }
            
            print(self.fileName)
            print(self.ImageFormat)
            
            imagePicker.dismiss(animated: true,completion: nil)
            
            dispatchQueue.global(qos: .BACkground).async {
                let base64Str = "\(self.convertimageToBase64(image: imagE))"
                self.base64forImageUpload = base64Str

            }
            
        } else {
            print("There was an error picking the image")
        }
    }

我可以从库中获取文件名,但不能从相机中获取。

解决方法

从库中,图像保存在照片/磁盘中。但是,当您从中拍摄照片时,它不会保存在任何地方,直到您将其保存在某处。您可以将该图像保存到 Documents 文件夹以获取路径,也可以将其保存在照片中。

在文档目录中保存图像的示例:

import Foundation
import UIKit

extension UIImage {

func saveToDocuments(filename:string) {
    let documentsDirectory = FileManager.default.urls(for: .documentDirectory,in: .userDomainMask).first!
    let fileURL = documentsDirectory.appendingPathComponent(fileName)
    if let data = self.jpegData(compressionQuality: 1.0) {
        do {
            try data.write(to: fileURL)
        } catch {
            print("error saving file to documents:",error)
        }
    }
}

}

//从目录中检索图像

 public static func loadImageFromDocumentDirectory(filename: String) -> UIImage? {

    let documentsUrl = FileManager.default.urls(for: .documentDirectory,in: .userDomainMask).first!;
    let fileURL = documentsUrl.appendingPathComponent(fileName)
    do {
        let imageData = try Data(contentsOf: fileURL)
        return UIImage(data: imageData)
    } catch {}
    return nil
}

大佬总结

以上是大佬教程为你收集整理的如何在 Swift 中使用 imagePickerController 从相机获取文件名全部内容,希望文章能够帮你解决如何在 Swift 中使用 imagePickerController 从相机获取文件名所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。