使用 alamofire 下载不完整的文件

Posted

技术标签:

【中文标题】使用 alamofire 下载不完整的文件【英文标题】:Incomplete files download with alamofire 【发布时间】:2015-10-13 23:57:57 【问题描述】:

我有一个包含 60 个远程文件(图像)的列表,我想下载所有这些文件,但是当我尝试在这里下载 15 个图像时,我的代码

    let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)

    for var i = 1; i < 61; i++ 

        Alamofire.download(.GET, "https://domain.com/folder/\(i).jpg", destination: destination)
            .progress  bytesRead, totalBytesRead, totalBytesExpectedToRead in
                dispatch_async(dispatch_get_main_queue()) 
                    print("Total bytes read on main queue: \(totalBytesRead)")
                
            
            .response  _, _, _, error in
                if let error = error 
                    print("Failed with error: \(error)")
                 else 
                    print("Downloaded file successfully")
                
        

    

有什么想法???

【问题讨论】:

不知道alamofire是什么,但是看起来你下载太快了,我一次下载一个,我会把它放在答案中,这样代码会更好 【参考方案1】:
func doDownload(i:int)

    if(i > 60)
    
        return;
    
    let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)

    Alamofire.download(.GET, "https://domain.com/folder/\(i).jpg", destination: destination)
        .progress  bytesRead, totalBytesRead, totalBytesExpectedToRead in
            dispatch_async(dispatch_get_main_queue()) 
                print("Total bytes read on main queue: \(totalBytesRead)")
            
        
        .response  _, _, _, error in
            if let error = error 
                print("Failed with error: \(error)")
             else 
                print("Downloaded file successfully")
                doDownload(i + 1); //If you only want to download on success do it here
            
            //Otherwise doDownload(i + 1)here;
    
 

【讨论】:

@KnightOfDragon 谢谢,我试试看结果告诉你

以上是关于使用 alamofire 下载不完整的文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Alamofire 4 (Swift 3) 下载文件的路径

Xcode:Alamofire 源代码中的 Swift Dropbox 错误

将使用 Alamofire 下载的文件访问到具有未知文件名的下载目录

如何在 Alamofire 4.0 中添加带有上传进度百分比的标签的进度条

Alamofire 不下载 PDF

Alamofire:如何按顺序下载文件