如何从图像路径的文件名

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

我试图从图像pathurl得到的文件名,但我得到一个错误,如“无法将类型‘URL’的值强制输入‘的NSString’”谁能帮我为的NSString .Thanks转换提前

if var imgUrl = info[UIImagePickerController.InfoKey.imageURL] as? URL{
    let imgName = imgUrl.lastPathComponent
    let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
    let localPath = documentDirectory?.appending(imgName)

    var image = info[UIImagePickerController.InfoKey.originalImage] as! UIImage
    let data = image.pngData()! as NSData
    data.write(toFile: localPath!, atomically: true)
    //let imageData = NSData(contentsOfFile: localPath!)!
    let photoURL = URL.init(fileURLWithPath: localPath!)//NSURL(fileURLWithPath: localPath!)
    print(photoURL)

    let filename = (photoURL as NSString).lastPathComponent
    // pdfURL is your file url
    let fileExtention = (filename as NSString).pathExtension  // get your file extension
    let pathPrefix = (filename as NSString).deletingPathExtension
    img.image = image
ios swift4
1个回答
4
投票

(斯威夫特)的路径处理所有的方法都是在URL结构。无需进行转换

let filename = photoURL.lastPathComponent
// pdfURL is your file url
let fileExtention = photoURL.pathExtension  // get your file extension
let pathPrefix = photoURL.deletingPathExtension.lastPathComponent
img.image = image

如果存在一个本机相当于不斯威夫特使用NS类的。


并请考虑类似的警告

变“图像”从来没有发生突变;考虑改变为“让我们不变

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