是否有可靠,快速的方法来确定图像URL的文件扩展名?这些是我看到的一些选项,但是对于以下格式的图像,它们都不能始终如一地工作https://cdn-image.blay.com/sites/default/files/styles/1600x1000/public/images/12.jpg?itok=e-zA1T我试过了:new MimetypesFileTypeMap().getContentType(url)在通用的“ application / octet-stream”中产生结果,在这种情况下,我使用以下两种方法:Files.getFileExtension
FilenameUtils.getExtension我想在可能的情况下避免使用正则表达式,因此是否有另一个实用程序可以正常获取具有args(.jpeg?blahblah)的链接。我也想避免以任何方式下载图像或与url的连接,因为这应该是一个高性能调用
2 回答
![?](http://img1.sycdn.imooc.com/545847f50001126402200220-100-100.jpg)
弑天下
TA贡献1818条经验 获得超8个赞
如果您可以确信这些网址没有格式错误,该如何处理:
FilenameUtils.getExtension(URI.create(url).getPath())
![?](http://img1.sycdn.imooc.com/545869470001a00302200220-100-100.jpg)
MM们
TA贡献1886条经验 获得超2个赞
难道您只是看URL中的文件扩展名?所以会是这样的:
public static String getFileExtension(String url) {
int phpChar = url.length();
for(int i = 0; i < url.length(); i++) {
if(url.charAt(i) == '?') {
phpChar = i;
break;
}
}
int character = phpChar - 1;
while(url.charAt(character) != '.') character -= 1;
return url.substring(character + 1, phpChar);
}
也许不是最优雅的解决方案,但是即使使用php,它也可以工作吗?在网址中。
添加回答
举报
0/150
提交
取消