自定義ExtJS文件上傳

平常工做中,通常文件上傳都是跟隨表單一塊兒提交的,可是遇到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');
            }
        });
        }
      }
    } 
相關文章
相關標籤/搜索