I have several pictures stored in an hard drive attached to the Apple AirPort Extreme.
The paths of the pictures look like the following:
"afp://AirPort Extreme 3 (TC)._afpovertcp._tcp.local/NAS-0/00024000000/00024000023.jpg"
How can I load and display them in the iPad with Swift Code ?
I wish to download and display them from a Local network only, no web or internet server.
Xcode 8.2.1 SWIFT 3.0
This is the code I am using to display images.
It works with files stored in a local Hard Drive (USB port) as file:///Volumes but it does not work when the file is stored to the Time Capsule as afp://...etc file
// Get data from url
func getDataFromUrl(url: URL, completion: @escaping (_ data: Data?, _ response: URLResponse?, _ error: Error?) -> Void) {
URLSession.shared.dataTask(with: url) {
(data, response, error) in
completion(data, response, error)
}.resume()
}
// Load the image
func downloadImage(url: URL) {
getDataFromUrl(url: url) { (data, response, error) in
guard let data = data, error == nil else { return }
DispatchQueue.main.async() { () -> Void in
self.NewPic.image = UIImage(data: data)
}
}
}
// Display the piture when action detected
@IBAction func UrlButton(_ sender: Any) {
traditionalAddress = "afp://AirPort Extreme 3 (TC)._afpovertcp._tcp.local/NAS-0/00024000000/00024000023.jpg"
let newUrl = traditionalAddress.replacingOccurrences(of: " ", with: "%20", options: .literal, range: nil)
if let checkedUrl = URL(string: newUrl) {
downloadImage(url: checkedUrl)
}
}