導航:首頁 > 編程語言 > contenttypejava

contenttypejava

發布時間:2022-05-12 20:38:45

java的content-type有哪些

tomcat 目錄下的conf文件下的web.xml中的mime-mappinf列出了所有的content-type

Ⅱ 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

Ⅲ java7以下io有沒有類似FormFile的getContentType方法

主要以下幾種方法:
這個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("file://c:/temp/test.TXT"));
// output : text/plain
}
}
還有一種方式:就是取文件名最後一個「.」後的內容,通過人來判斷如
String fileName = "aaa.txt";
String fileType =「txt」//通過方法取出方法類型為
String type = "";
if( fileTyep.equals("txt")){
type = "記事本";
}else if(fileTyep.equals("img")){
type = "img圖片";
}。。。。。

Ⅳ contentType與pageEncoding、charset的區別

ContentType 屬性指定響應的 HTTP 內容類型。如果未指定 ContentType,默認為 text/HTML。 語法 Response.ContentType [= ContentType ] 參數 ContentType 描述內容類型的字元串。該字元串通常被格式化為類型/子類型,其中類型是常規內容範疇而子類為特定內容類型。有關支持內容類型的完整列表,請參閱 Web 瀏覽器文檔或當前的 HTTP 規格說明 pageEncoding是jsp文件本身的編碼

contentType的charset是指伺服器發送給客戶端時的內容編碼

JSP要經過兩次的「編碼」,第一階段會用pageEncoding,第二階段會用utf-8至utf-8,第三階段就是由Tomcat出來的網頁, 用的是contentType。

第一階段是jsp編譯成.java,它會根據pageEncoding的設定讀取jsp,結果是由指定的編碼方案翻譯成統一的UTF-8 JAVA源碼(即.java),如果pageEncoding設定錯了,或沒有設定,出來的就是中文亂碼。

第二階段是由JAVAC的JAVA源碼至java byteCode的編譯,不論JSP編寫時候用的是什麼編碼方案,經過這個階段的結果全部是UTF-8的encoding的java源碼。 pageEncoding:設置JSP源文件和響應正文中的字元集編碼。
contentType:設置JSP源文件和響應正文的字元集編碼及MIME類型。可見,pageEncoding和contentType都可以設置JSP源文件和響應正文中的字元集編碼。但也有區別:
設置JSP源文件字元集時,優先順序為pageEncoding>contentType。如果都沒有設置,默認ISO-8859-1。
設置響應輸出的字元集時,優先順序為contentType>pageEncoding。如果都沒有設置,默認ISO-8859-1。可以簡單認為是,pageEncoding是jsp文件本身的編碼;contentType的charset是指伺服器發送給客戶端時的內容編碼。例如:pageEncoding="GBK"。這句話的意思是,告訴JVM 這個jsp本身採用的"GBK"編碼,在JSP編譯成Servlet傳給JVM的時候,就用「GBK」的編碼方式將Jsp網頁源文件翻譯成統一的UTF-8形式的Java位元組碼。如果不加設定,則JVM默認的用ISO-8859-1這種編碼方式。contentType里的charset=gbk,指的是此網頁文件輸出到瀏覽器的輸出方式為gbk。在這個過程中,一個JSP的源文件需要經過三個階段,兩次編碼,才能完成一次完整的輸出。第一階段:將jsp編譯成Servlet(.java)文件。用到的指令是pageEncoding,根據pageEncoding=「XXX」的指示,找到編碼的規則為「XXX」,伺服器在將JSP文件編譯成.java文件時會根據pageEncoding的設定讀取jsp,結果是由指定的編碼方案翻譯成統一的UTF-8編碼的JAVA源碼(即.java)。
第二階段:從Servlet文件(.java)到Java位元組碼文件(.class),從UTF-8到UTF-8。在這一階段中,不論JSP編寫時候用的是什麼編碼方案,經過這個階段的結果全部是UTF-8的encoding的java源碼。JAVAC用UTF-8的encoding讀取java源碼,編譯成UTF-8編碼的二進制碼(即.class),這是JVM對常數字串在二進制碼(java encoding)內表達的規范。這一過程是由JVM的內在規范決定的,不受外界控制。
第三階段:從伺服器到瀏覽器,這在一過程中用到的指令是contentType。伺服器載入和執行由第二階段生成出來JAVA二進制碼,輸出的結果,也就是在客戶端可見到的結果,在這次輸出過程中,由contentType屬性中的charset來指定,將UTF8形式的二進制碼以charset的編碼形式來輸出。如果沒有人為設定,則默認的是ISO-8859-1的形式。

Ⅳ 在java中,setcharacterencoding和contenttype解決亂碼上有什麼不同

contenttype
是設置頁面的編碼
setcharacterencoding

是設置從request 或 資料庫取出的值的編碼

閱讀全文

與contenttypejava相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:388
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:992
鄉關何處pdf 瀏覽:84
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:430
pdf快速看圖破解版 瀏覽:294