두 부분으로 질문을 할 수 있습니다 먼저. 그것을 편집하고 두 번째 부분을 다시 요청하십시오.
이 PDF를 다운로드이 주제
1에서 두 부분이 있습니다 및 파일 시스템에 저장된 PDF를 얻고 UIWebView
또는 UIDocumentInteractionController
를 사용하여 읽을 파일 시스템
2에 저장
그래서 첫 번째 설명을하겠습니다.
REST HTTP 클라이언트 인 Alamofire : Elegant HTTP Networking in Swift을 사용하면 첫 번째 작업을 수행 할 수 있습니다. 따라서 이러한 경우에는 URLSession
을 사용할 필요가 없으며 그렇게 할 경우 많은 행을 작성해야합니다. 간단하고 쉽습니다. 그래서, 당신이 그것을 시험해보기 바란다. 대신 URLSession
이 필요하면 의견을 남겨주세요.
그래서
Alamofire
를 사용하여 PDF 파일을 다운로드하는 방법 :
let destination: DownloadRequest.DownloadFileDestination = { _, _ in
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
//.documentDirectory means it will store in Application Document Folder
let fileURL = documentsURL.appendPathComponent("data.pdf")
return (fileURL, [.removePreviousFile, .createIntermediateDirectories])
}
Alamofire.download(urlString, to: destination).response { response in
print(response)
if response.error == nil, let filePath = response.destinationURL?.path {
// do anything you want with filePath here.
// Here what you have to do Step 2. (Read the file that you downloaded)
}
}
이 다운로드 절차는 인코딩 된 매개 변수를 사용하여 다운로드 링크 요청에 포함되지 않습니다. 그것은 단지 간단한 방법이었습니다.
먼저 파일 스트림을 pdf 형식으로 저장할 수 있습니까? 그렇다면 웹 뷰를 사용하여 앱에 PDF 데이터를 표시 할 수 있습니다. –
이 질문에 대한 설명이 많습니다. 각 주제에 대해 별도로 질문하는 것이 좋습니다 (예 : PDF 다운로드 및 저장, 저장 한 PDF 읽기 방법). –
오늘은 나중에 아래에서 답변을 테스트 할 것입니다 - Alamofire로 다운로드하고 저장하십시오. 하지만, 처음부터 그 계획은 결코 아니 었습니다. 몇개의 pdf 파일을 다운로드해야하기 때문에 파일 시스템을 버릴 필요가 없으므로 결국에는 콜렉션 뷰에 표시하고 싶습니다. 시뮬레이터에서 파일 시스템을 사용할 수 있는지 잘 모르겠습니다. 하지만 가장 좋은 솔루션은 이미지와 함께해야하며, 이미지 = UIImage (데이터 : 데이터)로 만든 다음 이미지를 tableview/collection에 표시해야합니다. – user2856066