我尝试获取存储在服务器上的文件的文件大小。
我设法做到了,但只要我下载它就需要。
我假设它会下载文件以评估大小。
有更快的方法来获取文件大小吗?
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;
}
答案 0 :(得分:1)
我假设它会下载文件以评估大小。
是的,那是因为您实际上正在下载该文件。您应该使用HEAD request来获取有关该文件的数据。将方法从GET或POST更改为HEAD只会获得HTTP标头。创建request1
后,插入如下所示的行:
request1.HTTPMethod = "HEAD"