所以我把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)
如果您是为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)
使用Swift 4,代码将是:
if let url = URL(string: myURLstring) {
let imageDataFromURL = try Data(contentsOf: url)
}