首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

急怎么判断和识别URL所连接的下载的文件的文件名和后缀

2011-12-10 
急!如何判断和识别URL所连接的下载的文件的文件名和后缀例如这个URLhttp://www.gamezero.cn/download.php?

急!如何判断和识别URL所连接的下载的文件的文件名和后缀
例如这个URL   http://www.gamezero.cn/download.php?id=17951     所连的是一个文件     我需要判断这个URL所指的是什么文件名和后缀名,
或者   能否解析成类似于   http://img.poco.cn/photo/20070328/76268225220070328134709.jpg这样的带后缀的URL

总之我想知道那个URL   指向的是什么文件(包括文件名与后缀)

  希望高手能列出实现的代码   感激     做项目用     送上100分

[解决办法]
看起来,这种URL http://www.gamezero.cn/download.php?id=17951需要在download.php文件里对id=17951处理才能找到真正的文件名(如果是文件的话)。
能知道download.php里是怎么实现的吗?
目标也许是文件,也许是数据库里的资料,也许是其他什么特殊定义的数据流,什么都有可能吧?
所以个人认为这个不太可行哦。
[解决办法]
首先可以肯定的一点是,单从这个 URL(http://www.gamezero.cn/download.php?id=17951)是不可能知道什么文件名的,因为它根本就没有“文件”的概念。

进一步讲,就算是你看到了 http://www.somecompany.com/some.html 这样的 URL,也未必能肯定存在着 some.html 这样一个文件。这个字符串只是一个标识,至于客户端用这个标识能得到什么,完全看服务器是怎么理解这个字符串的。

不过,也别太绝望。如果你发出这个 Request 之后,能在 Response Header 里发现类似下面的内容:

Content-disposition=attachment; filename=Some.file

那么,这里的文件名也许对你能有点帮助。
[解决办法]
用URLConnction

像http://www.gamezero.cn/download.php?id=17951这样的地址,肯定是要在服务器上执行后经返回后才知道文件类型.如果是http://www.asdf.com/a.exe之类的,我们可以直接从地址里取出这个文件名.但是不建议这样用.因为有可能这个文件已在服务器上删除而返回404错误.所以最好还是用URLConnection类.然后从服务器里返回的信息里取得文件名.
[解决办法]
在下载的HEAD里面加上下载类型,IE会获取这个信息,形成下载后缀名

热点排行