「java获取mime」java获取minio文件数据
今天给各位分享java获取mime的知识,其中也会对java获取minio文件数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、jsp何获得上传文件的mimi类型
- 2、java怎么获取文件的mime类型
- 3、用Java实现获取文件类型的方法。
- 4、求用java得到URL相应源文件的方法
- 5、java开发中什么是mime类型
- 6、java读取本地*.msg如何获取收件人
jsp何获得上传文件的mimi类型
两种情况:
1.所上传的文件有正确的文件扩展名,
JSP中可通过获取文件的全名,
然后调用
application.getMimeType("文件名")
2. 所上传的文件没有扩展名
=======================
如果所上传的文件没有扩展名,
可以使用Struts中的org.apache.struts.upload.FormFile这个接口中的
getContentType()方法来获得MIME类型.
比如说:
可以写一个ActionForm
================UploadActionForm.java==================
package com.taotling.struts.upload.actionform;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class FileActionForm extends ActionForm {
private String title;
private FormFile uploadFile; //使用Struts提供的FormFile封装上传文件
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public FormFile getUploadFile() {
return uploadFile;
}
public void setUploadFile(FormFile uploadFile) {
this.uploadFile = uploadFile;
}
}
============================================================
================UploadAction.java===========================
package com.taotling.struts.upload.action;
import java.io.FileOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.taotling.struts.upload.actionform.FileActionForm;
public class UploadAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
FileActionForm faf = (FileActionForm)form;
FormFile file = faf.getUploadFile();
FileOutputStream fos = new FileOutputStream(file.getFileName());
fos.write(file.getFileData());//保存上传文件
fos.flush();
fos.close();
return mapping.findForward("success");
}
}
============================================================
struts-config.xml配置如下:
form-beans
form-bean
name="uploadForm"
type="com.taotling.struts.upload.actionform.FileActionForm" /
/form-beans
action-mappings
action
path="/upload"
type="com.taotling.struts.upload.action.UploadAction"
name="uploadForm"
scope="request"
forward name="success" path="/uploadsuccess.jsp"/forward
/action
/action-mappings
upload.jsp内容===============================================
form action="upload.do" method="post" enctype="multipart/form-data"
title:input type="text" name="title"br
files:input type="file" name="uploadFile"br
input type="submit"br
/form
=================================================================
uploadsuccess.jsp内容====================================:
File's contentType:${uploadForm.uploadFile.contentType}
java怎么获取文件的mime类型
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。这是我在百度百科上摘抄的一段介绍,具体大家可以去百度百科查阅。
好,我们现在就来看看如何使用java获取文件的Content-Type的值,那么按照我的习惯,先来上代码:
30
import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;/** * 测试类 * @author ZY * */public class MIME_Demo { public static void main(String[] args) throws Exception { System.out.println(getContentType("F:/test.png")); System.out.println(getContentType("F:/2.doc")); System.out.println(getContentType("F:/2.csv")); System.out.println(getContentType("F:/LiveUpdate.exe")); System.out.println(getContentType("F:/1.txt")); System.out.println(getContentType("F:/demo.jpg")); } public static String getContentType(String filename){ String type = null; Path path = Paths.get(filename); try { type = Files.probeContentType(path); } catch (IOException e) { e.printStackTrace(); } return type; }}
这段代码的执行结果为:
image/png
application/msword
application/vnd.ms-excel
application/x-msdownload
text/plain
image/jpeg
用Java实现获取文件类型的方法。
主要以下几种方法:
这个MimetypesFileMap类会映射出一个file的Mime Type,这些Mime Type类型是在activation.jar包里面的资源文件中定义的
import javax.activation.MimetypesFileTypeMap;
import java.io.File;
class GetMimeType {
public static void main(String args[]) {
File f = new File("test.gif");
System.out.println("Mime Type of " + f.getName() + " is " +
new MimetypesFileTypeMap().getContentType(f));
// expected output :
// "Mime Type of test.gif is image/gif"
}
}
使用 java.net.URL
警告:这个方法非常慢
与上面所说的匹配后缀名类似。后缀名和mime-type的映射关系被定义在[jre_home]\lib\content-types.properties这个文件中
import java.net.*;
public class FileUtils{
public static String getMimeType(String fileUrl)
throws java.io.IOException, MalformedURLException
{
String type = null;
URL u = new URL(fileUrl);
URLConnection uc = null;
uc = u.openConnection();
type = uc.getContentType();
return type;
}
public static void main(String args[]) throws Exception {
System.out.println(FileUtils.getMimeType(""));
// output : text/plain
}
}
还有一种方式:就是取文件名最后一个“.”后的内容,通过人来判断如
String fileName = "aaa.txt";
String fileType =“txt”//通过方法取出方法类型为
String type = "";
if( fileTyep.equals("txt")){
type = "记事本";
}else if(fileTyep.equals("img")){
type = "img图片";
}。。。。。
求用java得到URL相应源文件的方法
Java可以通过链接的mime类型来判断源文件的类型,从而得到源文件内容,示例如下:
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));
java开发中什么是mime类型
是http请求返回的时候,告诉浏览器返回的数据是什么类型,MIME类型被定义在Content-Type header中,这个你要看看HTTP协议,不管是java还是.NET都一样,是传输协议支持的。这样浏览器就可以用相应的程序去解析。比如IE可以在接收到doc文档后自动用word打开。一般就是application/XXX
常见的MIME类型(通用型):
超文本标记语言文本 .html text/html
xml文档 .xml text/xml
XHTML文档 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文档 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG图像 .png image/png
GIF图形 .gif image/gif
JPEG图形 .jpeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
任意的二进制数据 application/octet-stream
java读取本地*.msg如何获取收件人
1、可以当String来解析
2、java.mail , MimeMessage 再取相关的——应该是.eml文件。
java获取mime的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获取minio文件数据、java获取mime的信息别忘了在本站进行查找喔。