Alamofireを使用してファイルをダウンロードする前に、特定のファイルが既にダウンロードされているかどうかを確認するにはどうすればよいですか?私はsuggestedDownloadDestination
を使用していますので、Alamofireは自動的にファイルの名前を選択し、選択したディレクトリに保存します(例:.CachesDirectory
)。問題は、suggestedDownloadDestination
で指定された値が、のタイプであり、要求のresponse
で呼び出すことによってのみNSURL
を返しますが、この方法では、以前に要求を実行せずにファイルパスを知ることができませんでした。Alamofire + suggestedDownloadDestinationを使用してファイルをダウンロードする前にファイルが既に存在するかどうかを確認してください
これは、私は現在、Alamofireでファイルをダウンロードするために使用するコードです:私は
Alamofire.download(.GET, downloadLink, destination: destination).progress {
bytesRead, totalBytesRead, totalBytesExpectedToRead in
}.response {
request, response, data, error in
guard error == nil else {
return
}
// This will give me the file path but we're already in a Request!
print("\(destination(NSURL(string: "")!, response!))")
}
何をしないのですか?あなたはまだこれを考え出したが、あなたのようなAlamofire.DownloadRequest
上で拡張機能を作成することができた場合
これにはどんな解決策がありましたか? – osrl
@osrl残念ながら、Alamofireは、suggestedDownloadDestinationを使用するのと同じように、簡単にこれを行う機会を与えていません。ダウンロードディレクトリのカスタムパスを使用し、suggestedDownloadDestinationを削除しました。 – Aluminum
'.head'メソッドを使用して、ファイルをダウンロードする前に存在するかどうかを確認してください。しかし、ダウンロード要求メソッドが '.head 'であっても、Alamofireはファイルを作成します。それはどちらもうまくいかなかった。 – osrl