使用URL下载简单的Swift文件

问题描述 投票:4回答:2

所以我把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)
xcode macos swift
2个回答
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
投票

使用Swift 4,代码将是:

if let url = URL(string: myURLstring) {
    let imageDataFromURL = try Data(contentsOf: url)
}
© www.soinside.com 2019 - 2024. All rights reserved.