【发布时间】:2011-08-13 16:56:12
【问题描述】:
我需要检查用户插入的网址的内容类型(如果是图像、音频或视频)。我有这样的代码:
URL url = new URL(urlname);
URLConnection connection = url.openConnection();
connection.connect();
String contentType = connection.getContentType();
我正在获取内容类型,但问题是似乎有必要下载整个文件以检查其内容类型。因此,当文件很大时,它会持续很长时间。我需要在 Google App Engine 应用程序中使用它,因此请求限制为 30 秒。
有没有其他方法可以在不下载文件的情况下获取 url 的内容类型(这样可以更快地完成)?
【问题讨论】:
-
只是一个想法:如何获取前 n 个字节然后关闭连接?在大多数情况下,应该可以通过文件的开头来猜测内容类型。但我在这里不是专业人士。
-
@pintxo 如果您可以读取标头参数,为什么要这样做:
Content-Type而不是使用GET获取整个请求,您只需执行HEAD
标签: java url content-type