首页 新闻 会员 周边 捐助

网络文件格式判断问题

0
悬赏园豆:20 [已解决问题] 解决于 2013-07-04 12:34

请教下,对于一个需要下载的网络上的文件(只是网络地址,不一定包含文件名,后缀名等信息),怎么在下载前判断它的格式(后缀名)?

用c#语言

clarlespeng的主页 clarlespeng | 菜鸟二级 | 园豆:469
提问于:2013-07-03 12:13
< >
分享
最佳答案
0

先通过ContentType来判断, 如果发现是octet-stream 这样的type, 

用HttpWebRequest request.Method="HEAD",  这样可以只取 文件的header, 这样可以取得最后的url, 里面就有链接的文件格式

收获园豆:10
gunsmoke | 老鸟四级 |园豆:3592 | 2013-07-04 10:48

:)谢谢

clarlespeng | 园豆:469 (菜鸟二级) | 2013-07-04 12:33
其他回答(4)
0
放羊娃 | 园豆:318 (菜鸟二级) | 2013-07-03 12:23

好像不是这个,谢谢

支持(0) 反对(0) clarlespeng | 园豆:469 (菜鸟二级) | 2013-07-03 13:15
0

根据ContentType判断

收获园豆:5
dudu | 园豆:30925 (高人七级) | 2013-07-03 14:23

谢谢,貌似还不可以:)

支持(0) 反对(0) clarlespeng | 园豆:469 (菜鸟二级) | 2013-07-03 21:07
0

顶一个

bubu05690523 | 园豆:222 (菜鸟二级) | 2013-07-03 17:09

谢了

支持(0) 反对(0) clarlespeng | 园豆:469 (菜鸟二级) | 2013-07-03 21:07
0

看2楼du老大的,下载前应该不行吧,但是响应流里面包含了这些信息。

static void Main(String[] args)
        {
            WebRequest request = WebRequest.Create("http://www.baidu.com");
            WebResponse response = request.GetResponse();

            Console.WriteLine(response.ContentType);

            Console.ReadKey();
        }
收获园豆:5
写代码的小2B | 园豆:4377 (老鸟四级) | 2013-07-03 17:39

谢谢,谢谢!能得到一部分文件的格式 ,但是对于另外一些却不能判断,比如

http://edge.v.iask.com/108723744.hlv?KID=sina,viask&Expires=1372953600&ssig=NO1fDi4%2FKt 和 http://vurl.ppstv.com/ugc/5/58/5b4f6806accf58c42a24e1322d76e471a732bb2d/5b4f6806accf58c42a24e1322d76e471a732bb2d.pfv(当然不考虑从链接中就能看到文件格式这个问题

两个文件的 ContentType 都是 application/octet-stream

支持(0) 反对(0) clarlespeng | 园豆:469 (菜鸟二级) | 2013-07-03 21:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册