Java获取文件Content-Type(Mime-Type)

Java获取文件Content-Type(Mime-Type)

刚好工作中要用到,所以总结一下。推荐使用第一种和第三种,实在不行,也可以去把http://tool.oschina.net/commons上面特定类型对应的mime-type复制下来,放入map什么的去对比。

1、使用JDK1.7自带方法

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Test{ public static void main(String[] args){ Path path = Paths.get("E:\\static\\count.mp3"); String contentType = null; try { contentType = Files.probeContentType(path); } catch (IOException e) { e.printStackTrace(); } System.out.println("File content type is : " + contentType); } }

 

2、javax.activation.MimetypesFileTypeMap

import java.io.File;

import javax.activation.MimetypesFileTypeMap;

public class Test{ public static void main(String[] args){ String contentType = new MimetypesFileTypeMap().getContentType(new File("E:\\static\\count.mp3")); System.out.println(contentType); } } 

 

3、JMimeMagic

Magic parser = new Magic() ; 
MagicMatch match = parser.getMagicMatch(new File("E:\\static\\count.mp3"));    
System.out.println(match.getMimeType()) ; 

 

 

4、java.net.*

Tips:貌似mp3音频文件获取为null,这种暂时不推荐

import java.net.FileNameMap;
import java.net.URLConnection;

public class Test { public static void main(String args[]) throws Exception { FileNameMap fileNameMap = URLConnection.getFileNameMap(); String contentType = fileNameMap.getContentTypeFor("E:\\static\\bg.jpg"); System.out.println(contentType); // output : image/jpeg } }


原文链接:http://blog.csdn.net/saytime/article/details/51497529

转载于:https://www.cnblogs.com/zxwBj/p/8598088.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Content-TypeMIME 类型(Multipurpose Internet Mail Extensions)是HTTP协议中用于指示发送到服务器的数据类型的重要头信息。它们对于正确处理网页、图片、文档等不同类型的资源至关重要。 设置 `Content-Type` 的步骤通常是: 1. 在HTTP请求或响应的头部添加一个 `Content-Type` 字段。 2. 值通常包括两个部分:类型名和/或子类型名,用斜杠分隔,例如 "text/html" 或 "image/jpeg"。 - 类型名如 "text" 表示数据是文本性质,"image" 表示图像,"application" 表示应用数据。 - 子类型名提供更具体的分类,比如 "html" 对应 HTML 文档,"jpeg" 对应 JPEG 图像格式。 常见的 Content-Type 和对应的 MIME 类型包括: - text/plain: 纯文本 - text/html: HTML 文档 - application/json: JSON 数据 - image/jpeg, image/png: 图像文件 - application/pdf: PDF 文件 在编程中,特别是使用HTTP客户端库时,你可能需要根据具体操作自动设置这些值,比如在发送POST请求时指定表单数据的格式,或者在响应构建器中设置返回内容的类型。这里是一些常见编程语言的例子: ```python (requests库): import requests response = requests.post('https://example.com', data={'key': 'value'}, headers={'Content-Type': 'application/x-www-form-urlencoded'}) java (HttpClient API): CloseableHttpResponse response = httpClient.execute(HttpPost("http://example.com"), new BasicHttpEntity<>(new StringEntity(jsonData), ContentType.APPLICATION_JSON)); JavaScript (fetch API): fetch(url, { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(data) }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值