日期:2014-05-17  浏览次数:20585 次

读取网络文件保存在本地。网络的文件名怎么获取!
如题

是直接在java里面写的 没有浏览器

读取写入都会了
但是怎么获取网络的一个URL的文件类型 和文件名呢


------解决方案--------------------
文件名一般两种方式获取:
1、分析HTTP-HEAD信息,寻找“Content-Disposition”,这里面一般会指定:attachment; filename=XXOO;
2、如果方法1失败,则分析URL来获取;

获取文件类型主要就一招:
HTTP-HEAD中,寻找“ContentType”
------解决方案--------------------
ContentType就是调用:getContentType()

至于Content-Disposition
调用:getHeaderFields() 会返回一个 Map,把里面的元素和值都看一遍就知道了。
或者直接调用:getHeader("Content-Disposition"); 如果没有就是null
------解决方案--------------------
打错,不是:getHeader("Content-Disposition")
而是:getHeaderField("Content-Disposition")