Conten-type的應用

Content-Type

實體頭部用於指示資源的MIME類型 media type 。 Content-Type 實體頭部用於指示資源的MIME類型 media type 。html

設置格式

類型格式:type/subtype(;parameter)? typejquery

樣例
Content-Type:application/json;charset=GBK  
複製代碼

type 主類型:任意的字符串,如text,若是是*號表明全部;web

subtype 子類型:任意的字符串,如html,若是是*號表明全部;ajax

parameter 可選:一些參數,如Accept請求頭的q參數, Content-Type的 charset參數。json

常見的媒體格式類型以下:瀏覽器

text/html : HTML格式
text/plain :純文本格式      
text/xml :  XML格式
image/gif :gif圖片格式    
image/jpeg :jpg圖片格式 
image/png:png圖片格式
複製代碼

以application開頭的媒體格式類型:服務器

application/xhtml+xml :XHTML格式
application/xml     : XML數據格式
application/atom+xml  :Atom XML聚合格式    
application/json    : JSON數據格式
application/pdf       :pdf格式  
application/msword  : Word文檔格式
application/octet-stream :二進制流數據(如常見的文件下載)
application/x-www-form-urlencoded :<form encType=」」>中默認的encType,form表單數據被編碼爲key/value格式發送到服務器(表單默認的提交數據的格式
複製代碼

另一種常見的媒體格式是上傳文件之時使用的:app

multipart/form-data :須要在表單中進行文件上傳時,就須要使用該格式
複製代碼

以上就是咱們在平常的開發中,常常會用到的若干content-type的內容格式。post


angularJS 文件上傳 ——Multipart/form-data

var uploadFile=document.querySelector("#uploadFile").files[0];
//jquery獲取$("#uploadFile").prop("files")[0];
var formData = new FormData();
formData.append('fileTypeId', fileType);//其餘須要上傳的字段
formData.append('file', uploadFile);//文件
 $http({
           url:ex.websitemonitor+"files/upload",
           method:"post",
           headers: {'Content-Type': undefined},//使用angular上傳必定要加上這一句,否則傳給後臺的是空的。
           data: formData,
        }).success(function (result) {}
複製代碼

爲何要使用配置'Content-Type': undefined?

首先是由於angularJS默認的Content-Type是application/json,因此要本身設置來覆蓋默認的application/json,不只要設置爲multipart/form-data,並且參數 boundary 也是必需的, 參考:developer.mozilla.org/zh-CN/docs/…ui

設置boundary是一件麻煩的事情,能夠交給瀏覽器去作,設置爲 'Content-Type': undefined? 可讓瀏覽器自動識別到類型以及boundary邊界

ajax上傳文件

var uploadFile=document.querySelector("#uploadFile").files[0];
//jquery獲取$("#uploadFile").prop("files")[0];
var formData = new FormData();
formData.append('fileTypeId', fileType);//其餘須要上傳的字段
formData.append('file', uploadFile);//文件
$.ajax({
    url:"",
    type:"post",
    data:formData,
    success:function(){},
    error:function(){}
    })//沒有什麼特別須要注意的
複製代碼

參考文獻:blog.csdn.net/isxixi/arti…

相關文章
相關標籤/搜索