|
@@ -23,6 +23,7 @@ public class Download {
|
|
|
|
|
|
var DOWNLOAD_BUFFER = [Data?]()
|
|
|
var DOWNLOAD_SESSION = [Session]()
|
|
|
+ var DOWNLOAD_URL = "https://newuniverse.io/filepalio/image/"
|
|
|
|
|
|
public func start(forKey: String, delegate: DownloadDelegate){
|
|
|
self.delegate = delegate
|
|
@@ -44,28 +45,38 @@ public class Download {
|
|
|
_ = Nexilis.write(message: CoreMessage_TMessageBank.getImageDownload(p_image_id: forKey))
|
|
|
}
|
|
|
|
|
|
- public func startHTTP(filename: String, baseURL: String, onCompletion: ((Data) -> Void)? = nil, onError: (() -> Void)? = nil, onProgress: ((Progress) -> Void)? = nil) -> DownloadRequest {
|
|
|
+ public func startHTTP(forKey: String, completion: @escaping (String, Double)->()) {
|
|
|
+ _ = startHTTP(filename: forKey, baseURL: DOWNLOAD_URL, completion: completion)
|
|
|
+ }
|
|
|
+
|
|
|
+ public func startHTTP(filename: String, baseURL: String, completion: @escaping (String, Double)->()) -> DownloadRequest {
|
|
|
var sep = ""
|
|
|
if baseURL.last != "/" {
|
|
|
sep = "/"
|
|
|
}
|
|
|
let fullURL = "\(baseURL)\(sep)\(filename)"
|
|
|
- let downloadRequest = AF.download(fullURL)
|
|
|
- .downloadProgress(queue: downloadBufferQueue) { progress in
|
|
|
- onProgress?(progress)
|
|
|
- }
|
|
|
- .responseData { result in
|
|
|
- if let successResponse = result.value as? Data{
|
|
|
- //print("Response success")
|
|
|
- onCompletion?(successResponse)
|
|
|
+ do {
|
|
|
+ let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory, in: .userDomainMask, options: [.removePreviousFile, .createIntermediateDirectories])
|
|
|
+ let downloadRequest = AF.download(fullURL, to: destination)
|
|
|
+ .downloadProgress(queue: downloadBufferQueue) { progress in
|
|
|
+ completion(filename,progress.fractionCompleted*100)
|
|
|
}
|
|
|
- else {
|
|
|
- let statusCode = result.response?.statusCode
|
|
|
- //print("Response fail: \(statusCode)")
|
|
|
- onError?()
|
|
|
+ .response { result in
|
|
|
+ if let successResponse = result.value{
|
|
|
+ //print("Response success")
|
|
|
+ completion(filename,100)
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ let statusCode = result.response?.statusCode
|
|
|
+ //print("Response fail: \(statusCode)")
|
|
|
+ completion(filename,0)
|
|
|
+ }
|
|
|
}
|
|
|
+ return downloadRequest
|
|
|
}
|
|
|
- return downloadRequest
|
|
|
+ catch {}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
func put(part: Int, buffer: Data){
|