我试图获取存储在服务器上的文件的文件大小。
我设法做到了,但它需要和我下载它一样长的时间
我想它会下载文件来评估大小。
有没有更快的方法来获取文件大小?
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;
}
我想它会下载文件来评估大小。
是的,那是因为你实际上正在下载文件。相反,您应该使用HEAD请求来只获取有关该文件的数据。将方法从GET或POST更改为HEAD将只获得HTTP标头。在创建request1
:后插入这样的行
request1.HTTPMethod = "HEAD"