1

我尝试获取存储在服务器上的文件的文件大小。

我设法做到了,但只要我下载它就需要。

我假设它将下载文件以评估大小。

有没有更快的方法来获取文件大小?

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;

}
4

1 回答 1

1

我假设它将下载文件以评估大小。

是的,那是因为您实际上是在下载文件。您应该改为使用HEAD 请求来获取有关文件的数据。将方法从 GET 或 POST 更改为 HEAD 只会得到 HTTP 标头。创建后插入这样的行request1

request1.HTTPMethod = "HEAD"
于 2015-10-29T17:18:01.727 回答