返回信息流已经有了文件地址,通过http下载。现在只想拿到文件名,文件名在响应的头信息中,而不真正的下载文件。这可以做到吗??
这是一条镜像帖。来源:北邮人论坛 / java / #47209同步于 2016/1/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[问题] 文件下载的问题
sollian
2016/1/10镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
据说HTTP 的HEAD request是用来干这个事情的。
不过不知道lz用的服务器支持不支持这个了,可以发个head请求试试。
有一些httpclient应该能获取到onHeaderReceived之类的事件。可以在收到这个事件之后abort掉这个请求。
例如:https://github.com/AsyncHttpClient/async-http-client 这个library就有个onHeadersReceived的东西。。
【 在 sollian 的大作中提到: 】
: 已经有了文件地址,通过http下载。现在只想拿到文件名,文件名在响应的头信息中,而不真正的下载文件。这可以做到吗??
你还记得HTTPURLConnection吗?
在获得了response以后,我们要建立一个byte[] 数组作为buffer,不断循环
这个循环的过程就是读取文件的过程。
如果我们去掉这个byte[]读取的过程,直接从response中读取header,就达到你的目的了。
好的,多谢
【 在 aiquestion 的大作中提到: 】
: 据说HTTP 的HEAD request是用来干这个事情的。
: 不过不知道lz用的服务器支持不支持这个了,可以发个head请求试试。
: 有一些httpclient应该能获取到onHeaderReceived之类的事件。可以在收到这个事件之后abort掉这个请求。
: ...................
感觉那么悬呢。我试试吧
【 在 icyfox 的大作中提到: 】
: 你还记得HTTPURLConnection吗?
: 在获得了response以后,我们要建立一个byte[] 数组作为buffer,不断循环
: 这个循环的过程就是读取文件的过程。
: ...................