實體頭部用於指示資源的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
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) {}
複製代碼
首先是由於angularJS默認的Content-Type是application/json,因此要本身設置來覆蓋默認的application/json,不只要設置爲multipart/form-data,並且參數 boundary 也是必需的, 參考:developer.mozilla.org/zh-CN/docs/…ui
設置boundary是一件麻煩的事情,能夠交給瀏覽器去作,設置爲 'Content-Type': undefined? 可讓瀏覽器自動識別到類型以及boundary邊界
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(){}
})//沒有什麼特別須要注意的
複製代碼