gpt4 book ai didi

c# - 如何以字节或千字节为单位获取远程文件大小?

转载 作者:可可西里 更新时间:2023-11-01 17:10:55 25 4
gpt4 key购买 nike

我的问题与这个问题中的问题相同:

Get http:/…/File Size

但我的问题是 Content-Length 属性包含随响应返回的 Content-Length header 的值,而不是确切的文件大小。

我尝试使用 FileInfo,但它只能将本地文件名作为参数 - 而不是远程文件。

有人能告诉我如何获取以字节或千字节为单位的远程文件大小吗?

最佳答案

好的,我试试看

首先尝试这段代码:

//I am assuming Prg.source_path is the url of the file you want
// Something like : http://www.example.com/my_file.zip
HttpWebRequest wrq = (HttpWebRequest)WebRequest.Create(Prg.source_path);
//You should be getting only the response header
wrq.Method = "HEAD";

using(var wrs = (HttpWebResponse)wrq.GetResponse()){
//Do something logic here...
Console.WriteLine("Content Length is : {0}", wrs.ContentLength);
}

请确保您尝试下载的文件的 url 是文件的 DIRECT url。如果您被重定向到另一个位置,响应的 header 将是重定向响应的大小。

如果该代码仍然无法为您提供正确的文件大小,我的猜测是您正在被重定向,或者响应确实有缺陷且不准确(这不太可能,但有可能)。

您能否提供您尝试下载的文件的网址,或者至少提供您发送和接收的请求和响应?

EDIT 02/04/2013:同时检查这个问题:CSS, Javascript and Images have zero length

请参阅 Adrian Grigore 的回答,检查“控制面板 -> Windows 功能 -> 万维网服务 -> 通用 HTTP 功能 -> 静态内容”是否已选中。如果没有,检查它,重新启动 IIS(或整个机器,你永远不知道)并重试。

关于c# - 如何以字节或千字节为单位获取远程文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15700261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com