通过给定url中获取文件文件类型,开始想到的方法是通过在url中切割获取,如以下url,可以通过切割字符串的方式获取到文件类型是jpg格式的:

http://bpic.588ku.com/element_origin_min_pic/16/10/29/2ac8e99273bc079e40a8dc079ca11b1f.jpg

但是如果遇到不标准的url,如:

https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201804%2F28%2F20180428114906_ulvqd.jpg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629859705&t=b21be2311ccddd19b1557336e731d7c7

就不能通过简单的切割字符串方式去获取文件的后缀了,这里  hutool  提供了一个非常方便的方法,可以通过url获取网络文件的类型,其原理是根据文件流头部信息获取文件类型,相对比较准确(注:hutool  提供了很多实用的工具,平时开发中可以多关注以免重复造轮子)

代码如下

1.引入maven坐标

        <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.9</version></dependency>

2.使用 cn.hutool.core.io.FileTypeUtil 获取文件类型,如果无法识别会返回null

            String fileType = FileTypeUtil.getType(new URL(url).openStream());if(null == fileType){log.info("远程文件类型无法识别");return null;}

java根据远程URL获取文件类型相关推荐

  1. java获取url文件格式_本地文件/url获取文件类型

    package com.cjw.baidu.ocr; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringU ...

  2. java file 获取文件类型_Android中Java根据文件头获取文件类型

    前面贴过Android系统内部的MediaFile类来获取文件类型的办法,这个类主要是根据文件的扩展名来判断,其准确性不是很好.具体可查看Android系统使用MediaFile类判断音频文件类型.其 ...

  3. Java 根据网络地址URL获取文件

    一.功能需求 系统需要根据提供的文件地址URL获取该文件,代码实现如下: 二.解决办法 /*** 根据URL地址获取文件* @param path URL网络地址* @return File*/pri ...

  4. java从远程url文件流读取文件并下载到本地

    java从远程url文件流读取文件,且下载到本地,写个循环可实现批量 import java.io.*; import java.net.HttpURLConnection; import java. ...

  5. java获取vdx文件数据_通过文件名获取文件类型ContentType

    第一种方法: 引用System.Web.dll v4.5,就可以通过var mimeType = MimeMapping.GetMimeMapping(fileName);直接获取文件类型 第二种方法 ...

  6. mime类型是什么 node_Node.js - 文件系统获取文件类型

    我需要借助node.js来获取文件的文件类型以设置内容类型.我知道我可以很容易地检查文件扩展名,但我也有没有扩展名的文件,其内容类型应该是image/png,text/html aso.Node.js ...

  7. php 怎么查看文件类型信息,php获取文件类型和文件信息的方法

    php获取文件类型和文件信息的方法 发布于 2015-10-07 05:26:52 | 81 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  8. java拷贝远程服务器上文件,java拷贝远程服务器上文件

    java拷贝远程服务器上文件 内容精选 换一换 在Windows模式下,调试功能暂不可用.为支持多交叉架构的调试场景,需要在安装MindStudio的服务器(UI Host)上安装gdb-multia ...

  9. java 跨服务器 文件拷贝,java拷贝远程服务器上文件

    java拷贝远程服务器上文件 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JD ...

最新文章

  1. pythontxt文件怎么读_python怎么读txt文件
  2. 闪存我自己来——HDS公布闪存路线图
  3. js温故而知新11(AJAX)——学习廖雪峰的js教程
  4. 九大经典算法之选择排序、堆排序
  5. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)...
  6. Hyper-V 2016 系列教程45 System Center 2016 Data Protection Manager 可以备份什么
  7. Python分布式爬虫1
  8. CSS3中的过渡、动画和变换
  9. 计算机电缆yjv,WDZN-YJV是什么电缆|yjv电缆
  10. 【LSTM实战】股票走势预测全流程实战(stock predict)
  11. word论文参考文献字体间空隙
  12. Unity技能系统框架(三)分析一个具体被动技能
  13. Windows 下 android自动打包 volley项目
  14. 横向评测常见的优秀国外5个域名注册商
  15. Java Exer0910_4 输入身高(厘米)体重(公斤)计算BMI,四舍五入保留两位小数
  16. Python3基本用法 2020.2.20
  17. MD04, MD05, MD07, MD07区别
  18. python如何计算环比增长率
  19. 打鸟小游戏-附代码及素材
  20. 如何限制服务器sql内存占用,如何在 SQL Server 中使用配置选项调整内存使用量

热门文章

  1. 程序员的996工作模式,让中国互联网公司“扬名海外”
  2. mysql中输出100内质数_输出100以内的所有质数--九九乘法表--作业
  3. iOS APP打包上架-账号创建_谷歌应用商店上架
  4. nginx安装及部署
  5. Linux关机加载画面,Ubuntu更改启动画面,关机画面,登录画面
  6. Android计分器课程设计,单片机课程设计(篮球记分器)
  7. 入职培训笔记记录--day1
  8. 替代上学吧考试资料网的搜题找答案网站
  9. 解决supervisor报错:entered FATAL state, too many start retries too quickly
  10. Unable to open Assets/xxxxx.fbx: Check external application preferences