从网址

时间:2016-10-27 17:03:57

标签: ios swift pdf

我正在尝试使用Alamofire在swift中从url下载PDF文件,它显示损坏的文件。我需要添加一些额外的参数以用于安全目的。

这是我的网址格式。

https://xyz.xom/123/PDF_1477.pdf?sv=2015-04-05&sr=b&sig=asasasasakskasajsa%3D&se=2016-10-26T18%3A34%3A21Z&sp=r

当我尝试在浏览器中粘贴此网址时,它会从网址下载PDF。但是当我尝试使用Alamofire从Swift的url下载pdf时,它会存储一些随机字节数据。但是没有PDF文件。当我尝试打开pdf时,它显示文件已损坏。

这是我的Alamofire代码。

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

    Alamofire.download(.GET, url!, destination: destination).progress({ (bytesRead, totalBytesRead, totalBytesExpectedToRead) in
        print(totalBytesRead)

        // This closure is NOT called on the main queue for performance
        // reasons. To update your ui, dispatch to the main queue.
        dispatch_async(dispatch_get_main_queue()) {
            print("Total bytes read on main queue: \(totalBytesRead)")
        }
    }).response(completionHandler: { (request, response, data, error) in
        if let error = error {
            print("Failed with error: \(error)")
        } else {
            print("Downloaded file successfully")
        }
    })

请帮我解决。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

我的问题现在已经解决了。我删除了我的PDF网址的URL编码,并通过编码传递给Almofire下载请求。感谢您的时间和评论。