java获取url前缀 jsp_Java获取URL链接的文件类型
问题发生:
查看源码发现:
因为没有文件类型所以在转存图片的时候出错了
谷歌百度了一下发现解决办法:
URLConnection class provides two static methods to help programs figure out the MIME type of some data; you can use these if the content type just isn't available or if you have reason to believe that the content type you're given isn't correct。
就是说URLConnection提供了两种方法可以猜测(根据实测结果,这个猜测是相当的准)数据的MIME类型。
第一个是:
public static String guessContentTypeFromName(String name)
这个方法根据URL文件部分的后缀名来判断类型,跟之前我的方法一样。这个不能解决上面那个问题。
第二个是:
public static String guessContentTypeFromStream(InputStream in)
这个方法是根据流的前面几个字节来判断类型,这个就不需要文件后缀名了,完全可以解决上面那个问题。
BufferedInputStream bis = null;
HttpURLConnection urlconnection = null;
URL url = null;
url = new URL(strUrl);
urlconnection = (HttpURLConnection) url.openConnection();
urlconnection.connect();
bis = new BufferedInputStream(urlconnection.getInputStream());
System.out.println("file type:"+HttpURLConnection.guessContentTypeFromStream(bis));
但生产中发现有很多类型不能正确的判断出来,如bmp
然后继续各种找,最后解决了...
再看一下无后缀名的判断..
HTTP Content-type 对照表
Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,比如用PHP输出图片文件、JSON数据、XML文件等非HTML内容时,就必须用header函数来指定Content-Type,才能达到输出一张图片或是其它指定内容类型的需求。
Application Type
文件扩展名Content-Type(Mime-Type)描述
.
application/x-
.*
application/octet-stream
二进制流,不知道下载文件类型
application/pdf
PDF(Portable Document Format的简称,意为“便携式文件格式”)
.ai
application/postscript
PostScript(PS)是主要用于电子产业和桌面出版领域的一种页面描述语言和编程语言。
.xml
application/atom+xml
Atom feeds
.js
application/ecmascript
相当于application/javascript但是严格的处理规则
.edi
application/EDI-X12
EDI ANSI ASC X12数据
.edi
application/EDIFACT
EDI EDIFACT数据
.json
application/json
JSON(JavaScript Object Notation)
.js
application/javascript
ECMAScript/JavaScript(相当于application/ecmascript但是宽松的处理规则)
.ogg
application/ogg
Ogg, 视频文件格式
.rdf
application/rdf+xml
资源描述框架(Resource Description Framework,缩写 RDF),是万维网联盟(W3C)提出的一组标记语言的技术标准,以便更为丰富地描述和表达网络资源的内容与结构。
.xml
application/rss+xml
RSS(Really Simple Syndication,简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘
.xml
application/soap+xml
简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范,使用在计算机网络Web服务(web service)中,交换带结构信息。
.woff
application/font-woff
Web开放字体格式(Web Open Font Format,简称WOFF)是一种网页所采用的字体格式标准。(推荐使用;使用application/x-font-woff直到它变为官方标准)
.xhtml
application/xhtml+xml
可扩展超文本标记语言(eXtensible HyperText Markup Language,XHTML),是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。
.xml
application/xml
可扩展标记语言(英语:eXtensible Markup Language,简称: XML),是一种标记语言。
.dtd
application/xml-dtd
XML文件的文件型别定义(Document Type Definition)可以看成一个或者多个XML文件的模板,在这里可以定义XML文件中的元素、元素的属性、元素的排列方式、元素包含的内容等等。
.xml
application/xop+xml
二进制优化封装协议(Xmlbinary Optimized Packaging)
.zip
application/zip
ZIP压缩文件
.gzip
application/gzip
Gzip是若干种文件压缩程序的简称,通常指GNU计划的实现,此处的gzip代表GNU zip。
.xls
application/x-xls
XLS 就是 Microsoft Excel 工作表,是一种非常常用的电子表格格式。
.001
application/x-001
.301
application/x-301
.906
application/x-906
.a11
application/x-a11
.awf
application/vnd.adobe.workflow
.bmp
application/x-bmp
.c4t
application/x-c4t
.cal
application/x-cals
.cdf
application/x-netcdf
.cel
application/x-cel
.cg4
application/x-g4
.cit
application/x-cit
.bot
application/x-bot
.c90
application/x-c90
.cat
application/vnd.ms-pki.seccat
.cdr
application/x-cdr
.cer
application/x-x509-ca-cert
.cgm
application/x-cgm
.cmx
application/x-cmx
.crl
application/pkix-crl
.csi
application/x-csi
.cut
application/x-cut
.dbm
application/x-dbm
.cmp
application/x-cmp
.cot
application/x-cot
.crt
application/x-x509-ca-cert
.dbf
application/x-dbf
.dbx
application/x-dbx
.dcx
application/x-dcx
.dgn
application/x-dgn
.dll
application/x-msdownload
.dot
application/msword
.der
application/x-x509-ca-cert
.dib
application/x-dib
.doc
application/msword
.drw
application/x-drw
.dwf
application/x-dwf
.dxb
application/x-dxb
.edn
application/vnd.adobe.edn
.dwg
application/x-dwg
.dxf
application/x-dxf
.emf
application/x-emf
.epi
application/x-epi
.eps
application/postscript
.exe
application/x-msdownload
.fdf
application/vnd.fdf
.eps
application/x-ps
.etd
application/x-ebx
.fif
application/fractals
.frm
application/x-frm
.gbr
application/x-gbr
.g4
application/x-g4
.gl2
application/x-gl2
.hgl
application/x-hgl
.hpg
application/x-hpgl
.hqx
application/mac-binhex40
.hta
application/hta
.gp4
application/x-gp4
.hmr
application/x-hmr
.hpl
application/x-hpl
.hrf
application/x-hrf
.icb
application/x-icb
.ico
application/x-ico
.ig4
application/x-g4
.iii
application/x-iphone
.ins
application/x-internet-signup
.iff
application/x-iff
.igs
application/x-igs
.img
application/x-img
.isp
application/x-internet-signup
.jpe
application/x-jpe
.js
application/x-javascript
.jpg
application/x-jpg
.lar
application/x-laplayer-reg
.latex
application/x-latex
.lbm
application/x-lbm
.ls
application/x-javascript
.ltr
application/x-ltr
.man
application/x-troff-man
.mdb
application/msaccess
.mac
application/x-mac
.mdb
application/x-mdb
.mfp
application/x-shockwave-flash
.mi
application/x-mi
.mil
application/x-mil
.mocha
application/x-javascript
.mpd
application/vnd.ms-project
.mpp
application/vnd.ms-project
.mpt
application/vnd.ms-project
.mpw
application/vnd.ms-project
.mpx
application/vnd.ms-project
.mxp
application/x-mmxp
.nrf
application/x-nrf
.out
application/x-out
.p12
application/x-pkcs12
.p7c
application/pkcs7-mime
.p7r
application/x-pkcs7-certreqresp
.pc5
application/x-pc5
.pcl
application/x-pcl
.pdx
application/vnd.adobe.pdx
.pgl
application/x-pgl
.pko
application/vnd.ms-pki.pko
.p10
application/pkcs10
.p7b
application/x-pkcs7-certificates
.p7m
application/pkcs7-mime
.p7s
application/pkcs7-signature
.pci
application/x-pci
.pcx
application/x-pcx
application/pdf
.pfx
application/x-pkcs12
.pic
application/x-pic
.pl
application/x-perl
.plt
application/x-plt
.png
application/x-png
.ppa
application/vnd.ms-powerpoint
.pps
application/vnd.ms-powerpoint
.ppt
application/x-ppt
.prf
application/pics-rules
.prt
application/x-prt
.ps
application/postscript
.pwz
application/vnd.ms-powerpoint
.ra
audio/vnd.rn-realaudio
RealAudio是一种由RealNetworks发展的RealMedia多媒体音频文件格式,仅指RealPlayer中能够识别的音频文件,也可以理解为real格式的音频文件。
.ras
application/x-ras
.pot
application/vnd.ms-powerpoint
.ppm
application/x-ppm
.ppt
application/vnd.ms-powerpoint
.pr
application/x-pr
.prn
application/x-prn
.ps
application/x-ps
.ptn
application/x-ptn
.red
application/x-red
.rjs
application/vnd.rn-realsystem-rjs
.rlc
application/x-rlc
.rm
application/vnd.rn-realmedia
.rat
application/rat-file
.rec
application/vnd.rn-recording
.rgb
application/x-rgb
.rjt
application/vnd.rn-realsystem-rjt
.rle
application/x-rle
.rmf
application/vnd.adobe.rmf
.rmj
application/vnd.rn-realsystem-rmj
.rmp
application/vnd.rn-rn_music_package
.rmvb
application/vnd.rn-realmedia-vbr
.rnx
application/vnd.rn-realplayer
.rpm
audio/x-pn-realaudio-plugin
.rms
application/vnd.rn-realmedia-secure
.rmx
application/vnd.rn-realsystem-rmx
.rsml
application/vnd.rn-rsml
.rtf
application/msword
.rv
video/vnd.rn-realvideo
.sat
application/x-sat
.sdw
application/x-sdw
.slb
application/x-slb
.rtf
application/x-rtf
.sam
application/x-sam
.sdp
application/sdp
.sit
application/x-stuffit
.sld
application/x-sld
.smi
application/smil
.smk
application/x-smk
.smil
application/smil
.spc
application/x-pkcs7-certificates
.spl
application/futuresplash
.ssm
application/streamingmedia
.stl
application/vnd.ms-pki.stl
.sst
application/vnd.ms-pki.certstore
.tdf
application/x-tdf
.tga
application/x-tga
.sty
application/x-sty
.swf
application/x-shockwave-flash
.tg4
application/x-tg4
.tif
application/x-tif
.vdx
application/vnd.visio
.vpg
application/x-vpeg005
.vsd
application/x-vsd
.vst
application/vnd.visio
.vsw
application/vnd.visio
.vtx
application/vnd.visio
.torrent
application/x-bittorrent
.vda
application/x-vda
.vsd
application/vnd.visio
.vss
application/vnd.visio
.vst
application/x-vst
.vsx
application/vnd.visio
.wb1
application/x-wb1
.wb3
application/x-wb3
.wiz
application/msword
.wk4
application/x-wk4
.wks
application/x-wks
.wb2
application/x-wb2
.wk3
application/x-wk3
.wkq
application/x-wkq
.wmf
application/x-wmf
.wmd
application/x-ms-wmd
.wp6
application/x-wp6
.wpg
application/x-wpg
.wq1
application/x-wq1
.wri
application/x-wri
.ws
application/x-ws
.wmz
application/x-ms-wmz
.wpd
application/x-wpd
.wpl
application/vnd.ms-wpl
.wr1
application/x-wr1
.wrk
application/x-wrk
.ws2
application/x-ws
.xdp
application/vnd.adobe.xdp
.xfd
application/vnd.adobe.xfd
.xfdf
application/vnd.adobe.xfdf
.xls
application/vnd.ms-excel
.xwd
application/x-xwd
.sis
application/vnd.symbian.install
.x_t
application/x-x_t
.apk
application/vnd.android.package-archive
.x_b
application/x-x_b
.sisx
application/vnd.symbian.install
.ipa
application/vnd.iphone
.xap
application/x-silverlight-app
.xlw
application/x-xlw
.xpl
audio/scpls
.anv
application/x-anv
.uin
application/x-icq
Text Type
文件扩展名Content-Type(Mime-Type)描述
.323
text/h323
.biz
text/xml
.cml
text/xml
.asa
text/asa
.asp
text/asp
.css
text/css
层叠样式表(英语:Cascading Style Sheets,简写CSS),又称串样式列表、层次结构式样式表文件,一种用来为结构化文档(如HTML文档或XML应用)添加样式(字体、间距和颜色等)的计算机语言,由W3C定义和维护。
.csv
text/csv
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
.dcd
text/xml
.dtd
text/xml
.ent
text/xml
.fo
text/xml
.htc
text/x-component
.html
text/html
.htx
text/html
.htm
text/html
.htt
text/webviewhtml
.jsp
text/html
.math
text/xml
.mml
text/xml
.mtx
text/xml
.plg
text/html
.rdf
text/xml
.rt
text/vnd.rn-realtext
.sol
text/plain
.spp
text/xml
.stm
text/html
.svg
text/xml
.tld
text/xml
.txt
text/plain
纯文字内容
.uls
text/iuls
.vml
text/xml
.tsd
text/xml
.vcf
text/x-vcard
.vxml
text/xml
.wml
text/vnd.wap.wml
.wsdl
text/xml
.wsc
text/scriptlet
.xdr
text/xml
.xql
text/xml
.xsd
text/xml
.xslt
text/xml
.xml
text/xml
.xq
text/xml
.xquery
text/xml
.xsl
text/xml
.xhtml
text/html
.odc
text/x-ms-odc
.r3t
text/vnd.rn-realtext3d
.sor
text/plain
Audio Type
文件扩展名Content-Type(Mime-Type)描述
.acp
audio/x-mei-aac
.aif
audio/aiff
.aiff
audio/aiff
.aifc
audio/aiff
.au
audio/basic
.la1
audio/x-liquid-file
.lavs
audio/x-liquid-secure
.lmsff
audio/x-la-lms
.m3u
audio/mpegurl
.midi
audio/mid
.mid
audio/mid
.mp2
audio/mp2
.mp3
audio/mp3
.mp4
audio/mp4
MP4,全称MPEG-4 Part 14,是一种使用MPEG-4的多媒体计算机文件格式,扩展名为.mp4,以存储数字音频及数字视频为主。
.mnd
audio/x-musicnet-download
.mp1
audio/mp1
.mns
audio/x-musicnet-stream
.mpga
audio/rn-mpeg
.pls
audio/scpls
.ram
audio/x-pn-realaudio
.rmi
audio/mid
.rmm
audio/x-pn-realaudio
.snd
audio/basic
.wav
audio/wav
.wax
audio/x-ms-wax
.wma
audio/x-ms-wma
Video Type
文件扩展名Content-Type(Mime-Type)描述
.asf
video/x-ms-asf
.asx
video/x-ms-asf
.avi
video/avi
.IVF
video/x-ivf
.m1v
video/x-mpeg
.m2v
video/x-mpeg
.m4e
video/mpeg4
.movie
video/x-sgi-movie
.mp2v
video/mpeg
.mp4
video/mpeg4
MP4,全称MPEG-4 Part 14,是一种使用MPEG-4的多媒体计算机文件格式,扩展名为.mp4,以存储数字音频及数字视频为主。
.mpa
video/x-mpg
.mpe
video/x-mpeg
.mpg
video/mpg
.mpeg
video/mpg
.mps
video/x-mpeg
.mpv
video/mpg
.mpv2
video/mpeg
.wm
video/x-ms-wm
.wmv
video/x-ms-wmv
.wmx
video/x-ms-wmx
.wvx
video/x-ms-wvx
Image Type
文件扩展名Content-Type(Mime-Type)描述
.tif
image/tiff
标签图像文件格式(Tagged Image File Format,简写为TIFF)是一种主要用来存储包括照片和艺术图在内的图像的文件格式。它最初由Aldus公司与微软公司一起为PostScript打印开发。
.fax
image/fax
.gif
image/gif
图像互换格式(GIF,Graphics Interchange Format)是一种位图图形文件格式,以8位色(即256种颜色)重现真彩色的图像。
.ico
image/x-icon
.jfif
image/jpeg
.jpe
image/jpeg
.jpeg
image/jpeg
JPEG是一种针对相片图像而广泛使用的一种有损压缩标准方法。
.jpg
image/jpeg
.net
image/pnetvue
.png
image/png
便携式网络图形(Portable Network Graphics,PNG)是一种无损压缩的位图图形格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。
.rp
image/vnd.rn-realpix
.tif
image/tiff
.tiff
image/tiff
.wbmp
image/vnd.wap.wbmp
Message Type
文件扩展名Content-Type(Mime-Type)描述
.eml
message/rfc822
.mht
message/rfc822
.mhtml
message/rfc822
.nws
message/rfc822
Drawing Type
文件扩展名Content-Type(Mime-Type)描述
.907
drawing/907
.slk
drawing/x-slk
.top
drawing/x-top
Java Type
文件扩展名Content-Type(Mime-Type)描述
.class
java/*
.java
java/*
Other Type
文件扩展名Content-Type(Mime-Type)描述
.dwf
Model/vnd.dwf
java获取url前缀 jsp_Java获取URL链接的文件类型相关推荐
- Java获取URL链接的文件类型
问题发生: Java从网络批量读取图片并保存至本网站服务器后再插入文章中 今天转入一篇文章 http://news.qq.com/a/20170605/045860.htm 发现图片未能成功上传 查看 ...
- java判断文件头_java通过文件头来判断文件类型
importjava.io.FileInputStream;importjava.io.IOException;importjava.util.HashMap;importjava.util.Map. ...
- java获取url前缀 jsp_jsp 获取项目路径,java获取项目路径【蕃薯耀分享】
1. 获取web服务器项目的真实物理路径 request.getSession().getServletContext().getRealPath("/"); 2. 相对路径的 ...
- java取邮箱前缀_java抓取网页或文件中的邮箱号码
java抓取网页或文件中的邮箱号码 发布时间:2020-10-18 08:58:32 来源:脚本之家 阅读:69 作者:java大渣渣 本文实例为大家分享了java抓取邮箱号码的具体代码,供大家参考, ...
- cgm 转jpg java_获取图片,音频,视频,压缩包文件类型的工具类
1.[代码][Java]代码 /* * Copyright (C) 2013 Simple Explorer * * This program is free software; you can re ...
- java工具:通过文件头的魔数判断文件类型
k-file-detector github: https://github.com/kylin-hunter/k-file-detector 介绍 一个检查文件类型的工具. 软件描述 根据文件的魔数 ...
- 在Java中确定文件类型
以编程方式确定文件的类型可能非常棘手,并且已经提出并实现了许多基于内容的文件标识方法. Java中有几种可用于检测文件类型的实现,其中大多数很大程度上或完全基于文件的扩展名. 这篇文章介绍了Java中 ...
- Realview MDK 链接脚本文件详细解析(一)–链接符号
Realview MDK 链接脚本文件详细解析(一)–链接符号 Realview MDK 链接程序使用了两种方式控制程序的链接,即链接控制命令选项和链接脚本文件 链接脚本文件 链接脚本文件类型一般为: ...
- java 怎么做302重定向_利用Java怎么获取302重定向后的URL
利用Java怎么获取302重定向后的URL 发布时间:2021-01-22 16:59:02 来源:亿速云 阅读:57 作者:Leah 本篇文章为大家展示了利用Java怎么获取302重定向后的URL, ...
最新文章
- VirtualBox虚拟机网络连接设置的四种方式
- TSP问题——动态规划
- Leangoo思维导图管理用户故事
- 麒麟系统兼容安卓生态 弥补生态短板
- 1.5万人!京东面向2021届高校毕业生开启最大规模校招
- Linux学习总结(18)——Linux使用init命令关机、重启、切换模式
- 成都二套房限购政策有哪些,看完就知道
- Socket 简介及面试题
- 民情二维码:居民诉求一个码收集
- PAT-两个数的简单计算器(简单编程题)
- CSRF攻击原理和防范措施
- Codeforces 1027C. Minimum Value Rectangle
- 千里马android framework开发解决Accessing hidden method限制,让应用访问隐藏方法(需要可以修改系统源码方案)
- 名帖46 北魏 楷书《镇北大将军元思墓志》
- EasyAR尝鲜系列教程之Hello EasyAR
- 基于STC89C52RC单片机的密码门锁
- NFT老炮CryptoPunks解析与实现
- SWPUCTF2019web题复现
- 一招搞定win10网络图标显示问题-网络图标不见了
- Java 日期转ISO8601标准时间