2015-10-29 49 views
1

我嘗試獲取存儲在服務器上的文件的文件大小。使用NSURLConnection獲取文件大小非常慢

我設法做,但只要我下載它就需要。

我假定它會下載文件來評估大小。

有更快的方式來獲得文件大小?

func getFileSizeFromURL(sURL:String) -> String{ 

    let urlPath: String = sURL; 
    var url: NSURL = NSURL(string: urlPath)! 
    var request1: NSURLRequest = NSURLRequest(URL: url) 


    var response : NSURLResponse? 
    NSURLConnection.sendSynchronousRequest(request1, returningResponse: &response , error: nil) 


    var size:String=""; 

    if let httpResponse = response as? NSHTTPURLResponse { 
     println(httpResponse.expectedContentLength) 


     size="\(httpResponse.expectedContentLength)" 

    } 

    return size; 

} 
+1

HEAD http請求? – Larme

回答

1

我認爲它會下載評估大小的文件。

是的,那是因爲你實際上正在下載文件。您應該改用HEAD request來獲取有關文件的數據。將方法從GET或POST更改爲HEAD將使您獲得HTTP頭。在創建後插入一條這樣的線request1

request1.HTTPMethod = "HEAD" 
+1

這有幫助。非常感謝 。 –