upload.8c1af302.js 2.4 KB

123
  1. import{N as d}from"./vue.e266cb73.js";import{t as p,N as c,f,g as s,M as u}from"./index.dcc65bf7.js";const y="ElUpload";class m extends Error{constructor(e,a,r,l){super(e),this.name="UploadAjaxError",this.status=a,this.method=r,this.url=l}}function i(t,e,a){let r;return a.response?r=`${a.response.error||a.response}`:a.responseText?r=`${a.responseText}`:r=`fail to ${e.method} ${t} ${a.status}`,new m(r,a.status,e.method,t)}function g(t){const e=t.responseText||t.response;if(!e)return e;try{return JSON.parse(e)}catch{return e}}const h=t=>{typeof XMLHttpRequest>"u"&&p(y,"XMLHttpRequest is undefined");const e=new XMLHttpRequest,a=t.action;e.upload&&e.upload.addEventListener("progress",n=>{const o=n;o.percent=n.total>0?n.loaded/n.total*100:0,t.onProgress(o)});const r=new FormData;if(t.data)for(const[n,o]of Object.entries(t.data))Array.isArray(o)?r.append(n,...o):r.append(n,o);r.append(t.filename,t.file,t.file.name),e.addEventListener("error",()=>{t.onError(i(a,t,e))}),e.addEventListener("load",()=>{if(e.status<200||e.status>=300)return t.onError(i(a,t,e));t.onSuccess(g(e))}),e.open(t.method,a,!0),t.withCredentials&&"withCredentials"in e&&(e.withCredentials=!0);const l=t.headers||{};if(l instanceof Headers)l.forEach((n,o)=>e.setRequestHeader(o,n));else for(const[n,o]of Object.entries(l))c(o)||e.setRequestHeader(n,String(o));return e.send(r),e},E=["text","picture","picture-card"];let F=1;const L=()=>Date.now()+F++,b=f({action:{type:String,default:"#"},headers:{type:s(Object)},method:{type:String,default:"post"},data:{type:Object,default:()=>u({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},type:{type:String,default:"select"},fileList:{type:s(Array),default:()=>u([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:E,default:"text"},httpRequest:{type:s(Function),default:h},disabled:Boolean,limit:Number}),P=f({...b,beforeUpload:{type:s(Function),default:d},beforeRemove:{type:s(Function)},onRemove:{type:s(Function),default:d},onChange:{type:s(Function),default:d},onPreview:{type:s(Function),default:d},onSuccess:{type:s(Function),default:d},onProgress:{type:s(Function),default:d},onError:{type:s(Function),default:d},onExceed:{type:s(Function),default:d}});export{b as a,P as b,L as g,E as u};
  2. //# sourceMappingURL=upload.8c1af302.js.map