比如地址:
http://localhost:8080/download?Request=getImage$imageId=hunan&format=png
我可以根据上面的地址在浏览器里面下载到一副图像hunan.png
我现在想在java程序里面下载类似的数据,url是不确定的,就设计说上面的url是代表图像下载 还有可能是指向一个个xml文件 甚至格式url也不一样等等,总之就是通过get的方式获取数据,我就是想知道怎么获取对应的文件名称和格式,我曾想过直接从url分析,但是这个范围太广,比如格式可能是通过format=png 也可能是format=image/png 甚至是自定义字段等,这个由不同的webservice提供者自己定义的,所以我想能不能通过请求的response着手获取这些信息?
[b]问题补充:[/b]
To:lovewhzlq
数据怎么拿到呢 比如名称之类的 从url分析困难啊
To:ywbanm
写的不是web 程序,是普通的gui程序,request不能用吧。
我把问题再说清楚点吧:
这样的
我们普通下载文件我知道 比如:
http://localhost:8080/hunan.png
只代表一个图片 我可以通过 URL的链接 openStream等方法通过流的方式下载这个图片到我的本地。
现在的情况是 对于webservice之类的:
http://localhost:8080/download?Request=getImage&imageId=hunan&format=png
这同样代表一个图片 其他应用程序传递给我这个地址 我拿它去请求这个图片,同时我也想获取这个图片的名称 格式等等信息以便于保存,如何获取就是我现在不清楚的。
[b]问题补充:[/b]
To:lovewhzlq
首先多谢你的关注。
我想你的意思也是从url本身着手对吧。
不知道从请求的响应可以吗?
就是URLConnection的一些方法不知道是否可行。
因为url大多就是形如:
http://localhost:8080/download?Request=getImage&imageId=hunan&format=png
这样的格式,但是参数名字比如imageID等无法确定的。
[b]问题补充:[/b]
To ywbanm:
:cry:
会变,未必就是png 可能是jpg 也可能是tif
。。。。
我不是说值不变,我是说文件后缀总不会变啊.
按你这么说 你参数变 值也变 你按什么解析啊?
去问问你们头 每个不同的webservice应该有不同的规范的
你按上面那个哥们说的,定义一个接口,对不同的webservice,应用不同的解析方式
定义一个通用的接口,
download(String method, String fileName, String fileTye)
具体实现类就可以很多个,只要实现这个接口就是
看半天不太明白你具体的意思,
你是说怎么取得这些参数么?
从Request里面可以获得啊,
Request.getParameter('format');
如果是分析对应的参数对应的哪个webservice,你就需要一个mapping文件了.
数据怎么拿到呢 比如名称之类的这些就是靠接口的具体实现来做了
下载请求的url总是有个规范吧,不能太随便,那怎么解析??
参数名字比如imageID等无法确定的
如果连名字都无法确定,就用正则表达式去匹配吧,把不会变的东西总结出来,比如像png这种后缀不会变吧?