平常工做中,通常文件上傳都是跟隨表單一塊兒提交的,可是遇到form表單中有許多地方有文件上傳時這種方式卻不是很適用,如下是我工做中用的文件上傳方式:app
{ xtype: 'fileuploadfield', fieldLabel: '封面圖', msgTarget: 'side', anchor: '100%', margin: '0 0 0 0', buttonText: '請選擇文件...', listeners: { 'change': function(inputFile){ var fd =new FormData(); fd.append('multipartFiles',inputFile.fileInputEl.dom.files[0]); Ext.Ajax.request({ url: "url", cors:true, useDefaultXhrHeader:false, method:'post', rawData:fd, headers: { "Content-Type":null /* 最重要的部分,將Content-Type設置成null,ExtJs則會由內部的XMLHTTPRequest自動生成包含boundary的Content-Type,不然在使用rawData的狀況下,ExtJs會將Content-Type設置成text/plain */ }, success:function (res,opts) { alert('success'); var url = res.data.url; }, failure:function (res,opts) { alert('failure'); } }); } } }