これは可能ですか?多分PDFファイル全体をダウンロードせずにいくつかの情報を得ることができるPDFファイルがありますか?iOSのUIWebviewで開く前にPDFファイルサイズを知る方法
0
A
答えて
0
NSURLSession
を使用すると、リモートファイルのコンテンツ長を要求できます。このメソッドは、スレッド、このブロックとして他のいくつかのスレッドで呼び出されなければなりません:これはに注意してください。このメソッドは、指定されたremoteFileURL
func getRemoteFileSize(remoteFileURL : String) -> Int64{
var contentLength: Int64 = NSURLSessionTransferSizeUnknown
if let remoteURL = NSURL(string: remoteFileURL) {
// Create a semaphore to wait for NSURLSession's dataTask to complete
// before returning from function
let semaphore = dispatch_semaphore_create(0)
let request = NSMutableURLRequest(URL: remoteURL)
request.HTTPMethod = "HEAD"
let session = NSURLSession.sharedSession().dataTaskWithRequest(request,
completionHandler:
{ (data, response, error) -> Void in
contentLength = response?.expectedContentLength ?? NSURLSessionTransferSizeUnknown
//Signal the semaphore to continue execution
dispatch_semaphore_signal(semaphore)
})
session.resume()
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
}
print("File size is \(contentLength)")
return contentLength
}
のファイルサイズを取得しますrequest.HTTPMethod = "HEAD"
を設定することによって行うことができますそれが呼び出されました。
:
あなたはこの答えを確認することができ、メソッド呼び出し
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
dispatch_async(queue) {
self.getRemoteFileSize("https://pmcdeadline2.files.wordpress.com/2014/06/apple-logo.jpg")
}
+0
@Gon:これはあなたのために働いたか?追加の詳細が必要な場合は、私に知らせてください。 – UditS
http://stackoverflow.com/questions/19632193/objective-c-check-file-size-from-url-without-downloading – sanman