所以我将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)
答案 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)
}