使用URL下载简单的Swift文件

时间:2014-10-16 15:44:58

标签: xcode macos swift

所以我将URL作为字符串(在这种情况下是一个JPG,但如果可能的话,想要任何文件类型的一般过程),我将文件路径作为字符串,我想保存文件。

实现这一目标的最快方法是什么?

请记住,这适用于OSX命令行应用程序。我在这里尝试了几个示例代码,主要是使用UIImage,但是我得到错误:“使用未解析的标识符”,添加“import UIKit”让我错误:“没有这样的模块”。请帮忙!

import Foundation

let myURLstring = "http://www.safety.vanderbilt.edu/images/staff/Bob-Wheaton.jpg"
let myFilePathString = "/Volumes/HD/Staff Pictures/Bob-VEHS.jpg"

--->以上是原始问题< ---

--->以下是新改进的代码:工作< ---

import Foundation

let myURLstring = "http://www.safety.vanderbilt.edu/images/staff/Bob-Wheaton.jpg"
let myFilePathString = "/Volumes/HD/Staff Pictures/Bob-VEHS.jpg"

let url = NSURL(string: myURLstring)
let imageDataFromURL = NSData(contentsOfURL: url)

let fileManager = NSFileManager.defaultManager()
fileManager.createFileAtPath(myFilePathString, contents: imageDataFromURL, attributes: nil)

2 个答案:

答案 0 :(得分:4)

如果您是为OS X撰写文章,则会使用NSImage代替UIImage。你需要import Cocoa - UIKit适用于iOS,Cocoa适用于Mac。

NSData有一个初始化程序,它接受NSURL,另一个接受文件路径,因此您可以以任何方式加载数据。

if let url = NSURL(string: myURLstring) {
    let imageDataFromURL = NSData(contentsOfURL: url)
}

let imageDataFromFile = NSData(contentsOfFile: myFilePathString)

答案 1 :(得分:1)

使用 Swift 4 ,代码为:

if let url = URL(string: myURLstring) {
    let imageDataFromURL = try Data(contentsOf: url)
}
相关问题