         
         let method = Method(rawValue: request.urlRequest.HTTPMethod!.uppercaseString)
         
-        self.manager.download(method!, request.urlRequest.URL!.absoluteString) { (temporaryFileUrl, urlResponse) -> NSURL in
-            
-            return NSURL()
+        self.manager.download(method!, request.urlRequest.URL!.absoluteString) { [weak self] (temporaryURL, urlResponse) -> NSURL in
+            
+            var fileUrl: NSURL!
+            
+            if let directoryURL = self!.fileManager.URLsForDirectory(.DocumentDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask) as? NSURL {
+                
+                let pathComponent = urlResponse.suggestedFilename
+                
+                fileUrl = directoryURL.URLByAppendingPathComponent(pathComponent!)
+                
+            } else {
+                
+                fileUrl = temporaryURL
+                
+            }
+            
+            return fileUrl
             
         }
         

        
        var alamoFireUploadOperation = AlamoFireUploadOperation(dataCompletion: dataResponseCompletion)
        
        manager.session.delegate
        
        self.manager.upload(method!, request.urlRequest.URL!.absoluteString, multipartFormData: { (formData: MultipartFormData) in
            
            formData.appendBodyPart(data: data, name: request.name, fileName: request.fileName, mimeType: request.mimeType)

    
    private var manager: Manager!
    
    private var fileManager: NSFileManager!
    
    init() {
        
        self.manager = Manager.sharedInstance
        
        self.fileManager = NSFileManager.defaultManager()
    
    }
    
