NSURL到NSData的值为nil

时间:2016-10-26 09:05:41

标签: ios swift nsdata nsurl

我正在尝试将NSURL转换为NSData。我的url字符串是我从我的设备获取的本地文件URL。

    let url = NSURL(string: url)
    let imageData = NSData(contentsOfURL: url)
    let image = UIImage(data: imageData)

我正确地获得NSURL值。但在将其转换为NSData时,它会提供nil值。我知道stackoverflow中有类似的问题,但没有一个能解决我的问题。我正在使用swift 2.2

3 个答案:

答案 0 :(得分:1)

如果字符串指向本地文件URL ,那么您使用的是错误的API。正确的是

let url = NSURL(fileURLWithPath: urlString)

NSURL(string:仅适用于以有效文件方案开头的网址字符串(例如httpftp

答案 1 :(得分:0)

试试这段代码。

let urlString = "/var/mobile/Media/DCIM/101APPLE/IMG_1827.JPG"
let url = URL(fileURLWithPath: urlString)
let imageData = NSData(contentsOf: url)
let image = UIImage(data: imageData as! Data)

答案 2 :(得分:-1)

正确的是使用 contentsOf:forecastURL!作为网址而不是 contentsOf:forecastURL

  let forecastURL = NSURL(string: "http://photos.state.gov/libraries/media/788/images/90x90.gif")

  let testImage = NSData (contentsOf: forecastURL! as URL)

    print("data",testImage!)

    let image = UIImage(data: testImage! as Data)
    print("imaGE :-",image!)