vue-upload-component
Advanced tools
Comparing version 2.7.1 to 2.7.2
/*! | ||
* Name: vue-upload-component | ||
* Version: 2.7.0 | ||
* Version: 2.7.2 | ||
* Author: LianYue | ||
@@ -984,2 +984,3 @@ */ | ||
input.name = key; | ||
input.value = value; | ||
form.appendChild(input); | ||
@@ -986,0 +987,0 @@ } |
/*! | ||
* Name: vue-upload-component | ||
* Version: 2.7.0 | ||
* Version: 2.7.2 | ||
* Author: LianYue | ||
*/ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VueUploadComponent=t()}(this,function(){"use strict";function e(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",t.styleSheet?t.styleSheet.cssText="":t.appendChild(document.createTextNode("")),e.appendChild(t)}}();var t={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)("input",{attrs:{type:"file",name:e.$parent.name,id:e.$parent.inputId||e.$parent.name,accept:e.$parent.accept,webkitdirectory:e.$parent.directory&&e.$parent.features.directory,directory:e.$parent.directory&&e.$parent.features.directory,multiple:e.$parent.multiple&&e.$parent.features.html5},on:{change:e.change}})},staticRenderFns:[],methods:{change:function(e){this.$destroy(),this.$parent.addInputFile(e.target),new this.constructor({parent:this.$parent,el:this.$el})}}},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e},r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style"),i=' .file-uploads { overflow: hidden; position: relative; text-align: center; display: inline-block; } .file-uploads.file-uploads-html4 input[type="file"] { opacity: 0; font-size: 20em; z-index: 1; top: 0; left: 0; right: 0; bottom: 0; position: absolute; width: 100%; height: 100%; } .file-uploads.file-uploads-html5 input[type="file"] { overflow: hidden; position: fixed; width: 1px; height: 1px; z-index: -1; opacity: 0; } ';t.type="text/css",t.styleSheet?t.styleSheet.cssText=i:t.appendChild(document.createTextNode(i)),e.appendChild(t)}}();var n={render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{class:e.className},[e._t("default"),e._v(" "),i("input-file")],2)},staticRenderFns:[],components:{InputFile:t},props:{inputId:{type:String},name:{type:String,default:"file"},accept:{type:String},multiple:{type:Boolean},maximum:{type:Number,default:function(){return this.multiple?0:1}},addIndex:{type:[Boolean,Number]},directory:{type:Boolean},postAction:{type:String},putAction:{type:String},headers:{type:Object,default:Object},data:{type:Object,default:Object},timeout:{type:Number,default:0},drop:{default:!1},dropDirectory:{type:Boolean,default:!0},size:{type:Number,default:0},extensions:{default:Array},value:{type:Array,default:Array},thread:{type:Number,default:1}},data:function(){return{files:this.value,features:{html5:!0,directory:!1,drag:!1},active:!1,dropActive:!1,uploading:0,destroy:!1}},mounted:function(){var e=document.createElement("input");e.type="file",e.multiple=!0,window.FormData&&e.files?("boolean"!=typeof e.webkitdirectory&&"boolean"!=typeof e.directory||(this.features.directory=!0),this.features.html5&&void 0!==e.ondrop&&(this.features.drop=!0)):this.features.html5=!1,this.maps={},this.$nextTick(function(){this.$parent&&this.$parent.$forceUpdate(),this.watchDrop(this.drop)})},beforeDestroy:function(){this.destroy=!0,this.active=!1},computed:{uploaded:function(){for(var e=void 0,t=0;t<this.files.length;t++)if((e=this.files[t]).fileObject&&!e.error&&!e.success)return!1;return!0},className:function(){return["file-uploads",this.features.html5?"file-uploads-html5":"file-uploads-html4",this.features.directory&&this.directory?"file-uploads-directory":void 0,this.features.drop&&this.drop?"file-uploads-drop":void 0]}},watch:{active:function(e){this.watchActive(e)},dropActive:function(){this.$parent&&this.$parent.$forceUpdate()},drop:function(e){this.watchDrop(e)},value:function(e){if(this.files!==e){this.files=e;var t=this.maps;this.maps={};for(var i=0;i<this.files.length;i++){var r=this.files[i];this.maps[r.id]=r}for(var n in this.maps){var o=this.maps[n],a=t[n];o!==a&&this.emitFile(o,a)}for(var s in t)this.maps[s]||this.emitFile(void 0,t[s])}}},methods:{clear:function(){if(this.files.length){var e=this.files;this.files=[],this.maps={},this.emitInput();for(var t=0;t<e.length;t++)this.emitFile(void 0,e[t])}return!0},get:function(e){return!!e&&("object"===(void 0===e?"undefined":r(e))?this.maps[e.id]||!1:this.maps[e]||!1)},add:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.addIndex,r=e,n=r instanceof Array;n||(r=[r]);for(var o=[],a=0;a<r.length;a++){var s=r[a];this.features.html5&&s instanceof Blob&&(s={file:s,size:s.size,name:s.webkitRelativePath||s.relativePath||s.name||"unknown",type:s.type});var u=!1;if(!1===s.fileObject||(s.fileObject?u=!0:"undefined"!=typeof Element&&s.el instanceof Element?u=!0:"undefined"!=typeof Blob&&s.file instanceof Blob&&(u=!0)),u&&((s=i({fileObject:!0,size:-1,name:"Filename",type:"",active:!1,error:"",success:!1,putAction:this.putAction,postAction:this.postAction,timeout:this.timeout},s,{response:{},progress:"0.00",speed:0})).data=i({},this.data,s.data?s.data:{}),s.headers=i({},this.headers,s.headers?s.headers:{})),s.id||(s.id=Math.random().toString(36).substr(2)),!this.emitFilter(s,void 0)){if(this.maximum>1&&o.length+this.files.length>=this.maximum)break;if(o.push(s),1===this.maximum)break}}if(!o.length)return!1;1===this.maximum&&this.clear();var d=void 0;!0===t||0===t?d=o.concat(this.files):t?(d=o.concat([])).splice(t,0,o):d=this.files.concat(o),this.files=d;for(var l=0;l<o.length;l++){var c=o[l];this.maps[c.id]=c}this.emitInput();for(var f=0;f<o.length;f++)this.emitFile(o[f],void 0);return n?o:o[0]},addInputFile:function(e){var t=[];if(e.files)for(var i=0;i<e.files.length;i++){var r=e.files[i];t.push({size:r.size,name:r.webkitRelativePath||r.relativePath||r.name,type:r.type,file:r,el:e})}else t.push({name:e.value.replace(/^.*?([^\/\\\r\n]+)$/,"$1"),el:e});return this.add(t)},addDataTransfer:function(t){var i=this,r=[];if(t.items&&t.items.length){for(var n=[],o=0;o<t.items.length;o++){var a=t.items[o];(a=a.getAsEntry?a.getAsEntry():a.webkitGetAsEntry?a.webkitGetAsEntry():a.getAsFile())&&n.push(a)}return new Promise(function(t,o){!function o(a){var s=n[a];if(!s||i.maximum>0&&r.length>=i.maximum)return t(i.add(r));i.getEntry(s).then(function(t){r.push.apply(r,e(t)),o(a+1)})}(0)})}if(t.files.length){for(var s=0;s<t.files.length&&(r.push(t.files[s]),!(this.maximum>0&&r.length>=this.maximum));s++);return Promise.resolve(this.add(r))}return Promise.resolve([])},getEntry:function(t){var i=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise(function(n,o){if(t.isFile)t.file(function(e){n([{size:e.size,name:r+e.name,type:e.type,file:e}])});else if(t.isDirectory&&i.dropDirectory){var a=[],s=t.createReader();!function o(){s.readEntries(function(s){!function u(d){return!s[d]&&0===d||i.maximum>0&&a.length>=i.maximum?n(a):s[d]?void i.getEntry(s[d],r+t.name+"/").then(function(t){a.push.apply(a,e(t)),u(d+1)}):o()}(0)})}()}else n([])})},replace:function(e,t){var i=this.get(e),r=this.get(t);if(!i||!r||i===r)return!1;var n=this.files.concat([]),o=n.indexOf(i),a=n.indexOf(r);return-1!==o&&-1!==a&&(n[o]=r,n[a]=i,this.files=n,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var i=this.files.concat([]),r=i.indexOf(t);if(-1===r)return console.error("remove",t),!1;i.splice(r,1),this.files=i,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var r=this.get(e);if(r){var n=i({},r,t);if(!r.fileObject||!r.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,r))return!1;var o=this.files.concat([]),a=o.indexOf(r);return-1===a?(console.error("update",r),!1):(o.splice(a,1,n),this.files=o,delete this.maps[r.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,r),n)}return!1},emitFilter:function(e,t){var i=!1;return this.$emit("input-filter",e,t,function(){return i=!0}),i},emitFile:function(e,t){this.$emit("input-file",e,t),!(e&&e.fileObject&&e.active)||t&&t.active?e&&e.fileObject&&e.active||!t||!t.fileObject||!t.active||this.uploading--:(this.uploading++,this.$nextTick(function(){var t=this;setTimeout(function(){t.upload(e).then(function(){(e=t.get(e))&&e.fileObject&&t.update(e,{active:!1,success:!e.error})}).catch(function(i){t.update(e,{active:!1,success:!1,error:i.code||i.error||i.message||i})})},parseInt(50*Math.random()+50,10))})),!this.active||Boolean(e)===Boolean(t)&&e.active===t.active||this.watchActive(!0)},emitInput:function(){this.$emit("input",this.files)},upload:function(e){var t=this.get(e);if(!t)return Promise.reject("not_exists");if(!t.fileObject)return Promise.reject("file_object");if(t.error)return Promise.reject(t.error);if(t.success)return Promise.resolve(t);var i=this.extensions;return i&&(i.length||void 0===i.length)&&("object"===(void 0===i?"undefined":r(i))&&i instanceof RegExp||("string"==typeof i&&(i=i.split(",").map(function(e){return e.trim()}).filter(function(e){return e})),i=new RegExp("\\.("+i.join("|").replace(/\./g,"\\.")+")$","i")),-1===t.name.search(i))?Promise.reject("extension"):this.size>0&&t.size>=0&&t.size>this.size?Promise.reject("size"):this.features.html5&&t.putAction?this.uploadPut(t):this.features.html5?this.uploadHtml5(t):this.uploadHtml4(t)},uploadPut:function(e){var t=[],i=void 0;for(var r in e.data)null!==(i=e.data[r])&&void 0!==i&&t.push(encodeURIComponent(r)+"="+encodeURIComponent(i));var n=t.length?(-1===e.putAction.indexOf("?")?"?":"&")+t.join("&"):"",o=new XMLHttpRequest;return o.open("PUT",e.putAction+n),this.uploadXhr(o,e,e.file)},uploadHtml5:function(e){var t=new window.FormData,i=void 0;for(var n in e.data)(i=e.data[n])&&"object"===(void 0===i?"undefined":r(i))&&"function"!=typeof i.toString?i instanceof File?t.append(n,i,i.name):t.append(n,JSON.stringify(i)):null!==i&&void 0!==i&&t.append(n,i);t.append(this.name,e.file,e.file.filename||e.name);var o=new XMLHttpRequest;return o.open("POST",e.postAction),this.uploadXhr(o,e,t)},uploadXhr:function(e,t,i){var r=this,n=t,o=0,a=0;e.upload.onprogress=function(e){if(n=r.get(n),e.lengthComputable&&n&&n.fileObject&&n.active){var t=Math.round(Date.now()/1e3);t!==o&&(o=t,n=r.update(n,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-a}),a=e.loaded)}};var s=setInterval(function(){if(!(n=r.get(n))||!n.fileObject||n.success||n.error||!n.active){s&&(clearInterval(s),s=!1);try{e.abort(),e.timeout=1}catch(e){}}},100);return new Promise(function(t,o){var a=void 0,u=function(i){if(!a){if(a=!0,s&&(clearInterval(s),s=!1),!(n=r.get(n)))return o("not_exists");if(!n.fileObject)return o("file_object");if(n.error)return o(n.error);if(!n.active)return o("abort");if(n.success)return t(n);var u={};switch(i.type){case"timeout":case"abort":u.error=i.type;break;case"error":e.status?e.status>=500?u.error="server":e.status>=400&&(u.error="denied"):u.error="network";break;default:e.status>=500?u.error="server":e.status>=400?u.error="denied":u.progress="100.00"}if(e.responseText){var d=e.getResponseHeader("Content-Type");d&&-1!==d.indexOf("/json")?u.response=JSON.parse(e.responseText):u.response=e.responseText}return(n=r.update(n,u)).error?o(n.error):t(n)}};e.onload=u,e.onerror=u,e.onabort=u,e.ontimeout=u,n.timeout&&(e.timeout=n.timeout);for(var d in n.headers)e.setRequestHeader(d,n.headers[d]);n=r.update(n,{xhr:e}),e.send(i)})},uploadHtml4:function(e){var t=this,i=e,n=function(e){27===e.keyCode&&e.preventDefault()},o=document.createElement("iframe");o.id="upload-iframe-"+i.id,o.name="upload-iframe-"+i.id,o.src="about:blank",o.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var a=document.createElement("form");a.action=i.postAction,a.name="upload-form-"+i.id,a.setAttribute("method","POST"),a.setAttribute("target","upload-iframe-"+i.id),a.setAttribute("enctype","multipart/form-data");var s=void 0,u=void 0;for(var d in i.data)(s=i.data[d])&&"object"===(void 0===s?"undefined":r(s))&&"function"!=typeof s.toString&&(s=JSON.stringify(s)),null!==s&&void 0!==s&&((u=document.createElement("input")).type="hidden",u.name=d,a.appendChild(u));a.appendChild(i.el),document.body.appendChild(o).appendChild(a);var l=function(){var e=void 0;try{o.contentWindow&&(e=o.contentWindow.document)}catch(e){}if(!e)try{e=o.contentDocument?o.contentDocument:o.document}catch(t){e=o.document}return e&&e.body?e.body.innerHTML:null};return new Promise(function(e,r){setTimeout(function(){if(!(i=t.update(i,{iframe:o})))return r("not_exists");var s=setInterval(function(){(i=t.get(i))&&i.fileObject&&!i.success&&!i.error&&i.active||(s&&(clearInterval(s),s=!1),o.onabort({type:i?"abort":"not_exists"}))},100),u=void 0,d=function(o){if(!u){if(u=!0,s&&(clearInterval(s),s=!1),document.body.removeEventListener("keydown",n),!(i=t.get(i)))return r("not_exists");if(!i.fileObject)return r("file_object");if(i.error)return r(i.error);if(!i.active)return r("abort");if(i.success)return e(i);var a=l(),d={};switch(o.type){case"abort":d.error="abort";break;case"error":i.error?d.error=i.error:d.error=null===a?"network":"denied";break;default:i.error?d.error=i.error:null===d?d.error="network":d.progress="100.00"}if(null!==a){if(a&&"{"===a.substr(0,1)&&"}"===a.substr(a.length-1,1))try{a=JSON.parse(a)}catch(e){}d.response=a}return(i=t.update(i,d)).error?r(i.error):e(i)}};o.onload=d,o.onerror=d,o.onabort=d,document.body.addEventListener("keydown",n),a.submit()},50)}).then(function(e){return o.parentNode&&o.parentNode.removeChild(o),e}).catch(function(e){return o.parentNode&&o.parentNode.removeChild(o),e})},watchActive:function(e){for(var t=void 0,i=0;t=this.files[i];)if(i++,t.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;t.active||t.error||t.success||this.update(t,{active:!0})}else t.active&&this.update(t,{active:!1});else;0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=e;if(this.features.drop){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDragenter,!1),document.removeEventListener("dragleave",this.onDragleave,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}t?"string"==typeof t?t=document.querySelector(t)||this.$root.$el.querySelector(t):!0===t&&(t=this.$parent.$el):t=!1,this.dropElement=t,this.dropElement&&(document.addEventListener("dragenter",this.onDragenter,!1),document.addEventListener("dragleave",this.onDragleave,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},onDragenter:function(e){e.preventDefault(),this.dropActive||(this.dropActive=!0)},onDragleave:function(e){e.preventDefault(),("HTML"===e.target.nodeName||0===e.screenX&&0===e.screenY&&!e.fromElement&&e.offsetX<=0)&&(this.dropActive=!1)},onDragover:function(e){e.preventDefault()},onDrop:function(e){e.preventDefault(),this.dropActive=!1,this.addDataTransfer(e.dataTransfer)}}},o=Object.freeze({default:n});return o&&n||o}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VueUploadComponent=t()}(this,function(){"use strict";function e(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",t.styleSheet?t.styleSheet.cssText="":t.appendChild(document.createTextNode("")),e.appendChild(t)}}();var t={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)("input",{attrs:{type:"file",name:e.$parent.name,id:e.$parent.inputId||e.$parent.name,accept:e.$parent.accept,webkitdirectory:e.$parent.directory&&e.$parent.features.directory,directory:e.$parent.directory&&e.$parent.features.directory,multiple:e.$parent.multiple&&e.$parent.features.html5},on:{change:e.change}})},staticRenderFns:[],methods:{change:function(e){this.$destroy(),this.$parent.addInputFile(e.target),new this.constructor({parent:this.$parent,el:this.$el})}}},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e},r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style"),i=' .file-uploads { overflow: hidden; position: relative; text-align: center; display: inline-block; } .file-uploads.file-uploads-html4 input[type="file"] { opacity: 0; font-size: 20em; z-index: 1; top: 0; left: 0; right: 0; bottom: 0; position: absolute; width: 100%; height: 100%; } .file-uploads.file-uploads-html5 input[type="file"] { overflow: hidden; position: fixed; width: 1px; height: 1px; z-index: -1; opacity: 0; } ';t.type="text/css",t.styleSheet?t.styleSheet.cssText=i:t.appendChild(document.createTextNode(i)),e.appendChild(t)}}();var n={render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{class:e.className},[e._t("default"),e._v(" "),i("input-file")],2)},staticRenderFns:[],components:{InputFile:t},props:{inputId:{type:String},name:{type:String,default:"file"},accept:{type:String},multiple:{type:Boolean},maximum:{type:Number,default:function(){return this.multiple?0:1}},addIndex:{type:[Boolean,Number]},directory:{type:Boolean},postAction:{type:String},putAction:{type:String},headers:{type:Object,default:Object},data:{type:Object,default:Object},timeout:{type:Number,default:0},drop:{default:!1},dropDirectory:{type:Boolean,default:!0},size:{type:Number,default:0},extensions:{default:Array},value:{type:Array,default:Array},thread:{type:Number,default:1}},data:function(){return{files:this.value,features:{html5:!0,directory:!1,drag:!1},active:!1,dropActive:!1,uploading:0,destroy:!1}},mounted:function(){var e=document.createElement("input");e.type="file",e.multiple=!0,window.FormData&&e.files?("boolean"!=typeof e.webkitdirectory&&"boolean"!=typeof e.directory||(this.features.directory=!0),this.features.html5&&void 0!==e.ondrop&&(this.features.drop=!0)):this.features.html5=!1,this.maps={},this.$nextTick(function(){this.$parent&&this.$parent.$forceUpdate(),this.watchDrop(this.drop)})},beforeDestroy:function(){this.destroy=!0,this.active=!1},computed:{uploaded:function(){for(var e=void 0,t=0;t<this.files.length;t++)if((e=this.files[t]).fileObject&&!e.error&&!e.success)return!1;return!0},className:function(){return["file-uploads",this.features.html5?"file-uploads-html5":"file-uploads-html4",this.features.directory&&this.directory?"file-uploads-directory":void 0,this.features.drop&&this.drop?"file-uploads-drop":void 0]}},watch:{active:function(e){this.watchActive(e)},dropActive:function(){this.$parent&&this.$parent.$forceUpdate()},drop:function(e){this.watchDrop(e)},value:function(e){if(this.files!==e){this.files=e;var t=this.maps;this.maps={};for(var i=0;i<this.files.length;i++){var r=this.files[i];this.maps[r.id]=r}for(var n in this.maps){var o=this.maps[n],a=t[n];o!==a&&this.emitFile(o,a)}for(var s in t)this.maps[s]||this.emitFile(void 0,t[s])}}},methods:{clear:function(){if(this.files.length){var e=this.files;this.files=[],this.maps={},this.emitInput();for(var t=0;t<e.length;t++)this.emitFile(void 0,e[t])}return!0},get:function(e){return!!e&&("object"===(void 0===e?"undefined":r(e))?this.maps[e.id]||!1:this.maps[e]||!1)},add:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.addIndex,r=e,n=r instanceof Array;n||(r=[r]);for(var o=[],a=0;a<r.length;a++){var s=r[a];this.features.html5&&s instanceof Blob&&(s={file:s,size:s.size,name:s.webkitRelativePath||s.relativePath||s.name||"unknown",type:s.type});var u=!1;if(!1===s.fileObject||(s.fileObject?u=!0:"undefined"!=typeof Element&&s.el instanceof Element?u=!0:"undefined"!=typeof Blob&&s.file instanceof Blob&&(u=!0)),u&&((s=i({fileObject:!0,size:-1,name:"Filename",type:"",active:!1,error:"",success:!1,putAction:this.putAction,postAction:this.postAction,timeout:this.timeout},s,{response:{},progress:"0.00",speed:0})).data=i({},this.data,s.data?s.data:{}),s.headers=i({},this.headers,s.headers?s.headers:{})),s.id||(s.id=Math.random().toString(36).substr(2)),!this.emitFilter(s,void 0)){if(this.maximum>1&&o.length+this.files.length>=this.maximum)break;if(o.push(s),1===this.maximum)break}}if(!o.length)return!1;1===this.maximum&&this.clear();var d=void 0;!0===t||0===t?d=o.concat(this.files):t?(d=o.concat([])).splice(t,0,o):d=this.files.concat(o),this.files=d;for(var l=0;l<o.length;l++){var c=o[l];this.maps[c.id]=c}this.emitInput();for(var f=0;f<o.length;f++)this.emitFile(o[f],void 0);return n?o:o[0]},addInputFile:function(e){var t=[];if(e.files)for(var i=0;i<e.files.length;i++){var r=e.files[i];t.push({size:r.size,name:r.webkitRelativePath||r.relativePath||r.name,type:r.type,file:r,el:e})}else t.push({name:e.value.replace(/^.*?([^\/\\\r\n]+)$/,"$1"),el:e});return this.add(t)},addDataTransfer:function(t){var i=this,r=[];if(t.items&&t.items.length){for(var n=[],o=0;o<t.items.length;o++){var a=t.items[o];(a=a.getAsEntry?a.getAsEntry():a.webkitGetAsEntry?a.webkitGetAsEntry():a.getAsFile())&&n.push(a)}return new Promise(function(t,o){!function o(a){var s=n[a];if(!s||i.maximum>0&&r.length>=i.maximum)return t(i.add(r));i.getEntry(s).then(function(t){r.push.apply(r,e(t)),o(a+1)})}(0)})}if(t.files.length){for(var s=0;s<t.files.length&&(r.push(t.files[s]),!(this.maximum>0&&r.length>=this.maximum));s++);return Promise.resolve(this.add(r))}return Promise.resolve([])},getEntry:function(t){var i=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise(function(n,o){if(t.isFile)t.file(function(e){n([{size:e.size,name:r+e.name,type:e.type,file:e}])});else if(t.isDirectory&&i.dropDirectory){var a=[],s=t.createReader();!function o(){s.readEntries(function(s){!function u(d){return!s[d]&&0===d||i.maximum>0&&a.length>=i.maximum?n(a):s[d]?void i.getEntry(s[d],r+t.name+"/").then(function(t){a.push.apply(a,e(t)),u(d+1)}):o()}(0)})}()}else n([])})},replace:function(e,t){var i=this.get(e),r=this.get(t);if(!i||!r||i===r)return!1;var n=this.files.concat([]),o=n.indexOf(i),a=n.indexOf(r);return-1!==o&&-1!==a&&(n[o]=r,n[a]=i,this.files=n,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var i=this.files.concat([]),r=i.indexOf(t);if(-1===r)return console.error("remove",t),!1;i.splice(r,1),this.files=i,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var r=this.get(e);if(r){var n=i({},r,t);if(!r.fileObject||!r.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,r))return!1;var o=this.files.concat([]),a=o.indexOf(r);return-1===a?(console.error("update",r),!1):(o.splice(a,1,n),this.files=o,delete this.maps[r.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,r),n)}return!1},emitFilter:function(e,t){var i=!1;return this.$emit("input-filter",e,t,function(){return i=!0}),i},emitFile:function(e,t){this.$emit("input-file",e,t),!(e&&e.fileObject&&e.active)||t&&t.active?e&&e.fileObject&&e.active||!t||!t.fileObject||!t.active||this.uploading--:(this.uploading++,this.$nextTick(function(){var t=this;setTimeout(function(){t.upload(e).then(function(){(e=t.get(e))&&e.fileObject&&t.update(e,{active:!1,success:!e.error})}).catch(function(i){t.update(e,{active:!1,success:!1,error:i.code||i.error||i.message||i})})},parseInt(50*Math.random()+50,10))})),!this.active||Boolean(e)===Boolean(t)&&e.active===t.active||this.watchActive(!0)},emitInput:function(){this.$emit("input",this.files)},upload:function(e){var t=this.get(e);if(!t)return Promise.reject("not_exists");if(!t.fileObject)return Promise.reject("file_object");if(t.error)return Promise.reject(t.error);if(t.success)return Promise.resolve(t);var i=this.extensions;return i&&(i.length||void 0===i.length)&&("object"===(void 0===i?"undefined":r(i))&&i instanceof RegExp||("string"==typeof i&&(i=i.split(",").map(function(e){return e.trim()}).filter(function(e){return e})),i=new RegExp("\\.("+i.join("|").replace(/\./g,"\\.")+")$","i")),-1===t.name.search(i))?Promise.reject("extension"):this.size>0&&t.size>=0&&t.size>this.size?Promise.reject("size"):this.features.html5&&t.putAction?this.uploadPut(t):this.features.html5?this.uploadHtml5(t):this.uploadHtml4(t)},uploadPut:function(e){var t=[],i=void 0;for(var r in e.data)null!==(i=e.data[r])&&void 0!==i&&t.push(encodeURIComponent(r)+"="+encodeURIComponent(i));var n=t.length?(-1===e.putAction.indexOf("?")?"?":"&")+t.join("&"):"",o=new XMLHttpRequest;return o.open("PUT",e.putAction+n),this.uploadXhr(o,e,e.file)},uploadHtml5:function(e){var t=new window.FormData,i=void 0;for(var n in e.data)(i=e.data[n])&&"object"===(void 0===i?"undefined":r(i))&&"function"!=typeof i.toString?i instanceof File?t.append(n,i,i.name):t.append(n,JSON.stringify(i)):null!==i&&void 0!==i&&t.append(n,i);t.append(this.name,e.file,e.file.filename||e.name);var o=new XMLHttpRequest;return o.open("POST",e.postAction),this.uploadXhr(o,e,t)},uploadXhr:function(e,t,i){var r=this,n=t,o=0,a=0;e.upload.onprogress=function(e){if(n=r.get(n),e.lengthComputable&&n&&n.fileObject&&n.active){var t=Math.round(Date.now()/1e3);t!==o&&(o=t,n=r.update(n,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-a}),a=e.loaded)}};var s=setInterval(function(){if(!(n=r.get(n))||!n.fileObject||n.success||n.error||!n.active){s&&(clearInterval(s),s=!1);try{e.abort(),e.timeout=1}catch(e){}}},100);return new Promise(function(t,o){var a=void 0,u=function(i){if(!a){if(a=!0,s&&(clearInterval(s),s=!1),!(n=r.get(n)))return o("not_exists");if(!n.fileObject)return o("file_object");if(n.error)return o(n.error);if(!n.active)return o("abort");if(n.success)return t(n);var u={};switch(i.type){case"timeout":case"abort":u.error=i.type;break;case"error":e.status?e.status>=500?u.error="server":e.status>=400&&(u.error="denied"):u.error="network";break;default:e.status>=500?u.error="server":e.status>=400?u.error="denied":u.progress="100.00"}if(e.responseText){var d=e.getResponseHeader("Content-Type");d&&-1!==d.indexOf("/json")?u.response=JSON.parse(e.responseText):u.response=e.responseText}return(n=r.update(n,u)).error?o(n.error):t(n)}};e.onload=u,e.onerror=u,e.onabort=u,e.ontimeout=u,n.timeout&&(e.timeout=n.timeout);for(var d in n.headers)e.setRequestHeader(d,n.headers[d]);n=r.update(n,{xhr:e}),e.send(i)})},uploadHtml4:function(e){var t=this,i=e,n=function(e){27===e.keyCode&&e.preventDefault()},o=document.createElement("iframe");o.id="upload-iframe-"+i.id,o.name="upload-iframe-"+i.id,o.src="about:blank",o.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var a=document.createElement("form");a.action=i.postAction,a.name="upload-form-"+i.id,a.setAttribute("method","POST"),a.setAttribute("target","upload-iframe-"+i.id),a.setAttribute("enctype","multipart/form-data");var s=void 0,u=void 0;for(var d in i.data)(s=i.data[d])&&"object"===(void 0===s?"undefined":r(s))&&"function"!=typeof s.toString&&(s=JSON.stringify(s)),null!==s&&void 0!==s&&((u=document.createElement("input")).type="hidden",u.name=d,u.value=s,a.appendChild(u));a.appendChild(i.el),document.body.appendChild(o).appendChild(a);var l=function(){var e=void 0;try{o.contentWindow&&(e=o.contentWindow.document)}catch(e){}if(!e)try{e=o.contentDocument?o.contentDocument:o.document}catch(t){e=o.document}return e&&e.body?e.body.innerHTML:null};return new Promise(function(e,r){setTimeout(function(){if(!(i=t.update(i,{iframe:o})))return r("not_exists");var s=setInterval(function(){(i=t.get(i))&&i.fileObject&&!i.success&&!i.error&&i.active||(s&&(clearInterval(s),s=!1),o.onabort({type:i?"abort":"not_exists"}))},100),u=void 0,d=function(o){if(!u){if(u=!0,s&&(clearInterval(s),s=!1),document.body.removeEventListener("keydown",n),!(i=t.get(i)))return r("not_exists");if(!i.fileObject)return r("file_object");if(i.error)return r(i.error);if(!i.active)return r("abort");if(i.success)return e(i);var a=l(),d={};switch(o.type){case"abort":d.error="abort";break;case"error":i.error?d.error=i.error:d.error=null===a?"network":"denied";break;default:i.error?d.error=i.error:null===d?d.error="network":d.progress="100.00"}if(null!==a){if(a&&"{"===a.substr(0,1)&&"}"===a.substr(a.length-1,1))try{a=JSON.parse(a)}catch(e){}d.response=a}return(i=t.update(i,d)).error?r(i.error):e(i)}};o.onload=d,o.onerror=d,o.onabort=d,document.body.addEventListener("keydown",n),a.submit()},50)}).then(function(e){return o.parentNode&&o.parentNode.removeChild(o),e}).catch(function(e){return o.parentNode&&o.parentNode.removeChild(o),e})},watchActive:function(e){for(var t=void 0,i=0;t=this.files[i];)if(i++,t.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;t.active||t.error||t.success||this.update(t,{active:!0})}else t.active&&this.update(t,{active:!1});else;0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=e;if(this.features.drop){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDragenter,!1),document.removeEventListener("dragleave",this.onDragleave,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}t?"string"==typeof t?t=document.querySelector(t)||this.$root.$el.querySelector(t):!0===t&&(t=this.$parent.$el):t=!1,this.dropElement=t,this.dropElement&&(document.addEventListener("dragenter",this.onDragenter,!1),document.addEventListener("dragleave",this.onDragleave,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},onDragenter:function(e){e.preventDefault(),this.dropActive||(this.dropActive=!0)},onDragleave:function(e){e.preventDefault(),("HTML"===e.target.nodeName||0===e.screenX&&0===e.screenY&&!e.fromElement&&e.offsetX<=0)&&(this.dropActive=!1)},onDragover:function(e){e.preventDefault()},onDrop:function(e){e.preventDefault(),this.dropActive=!1,this.addDataTransfer(e.dataTransfer)}}},o=Object.freeze({default:n});return o&&n||o}); | ||
//# sourceMappingURL=vue-upload-component.min.js.map |
/*! | ||
* Name: vue-upload-component | ||
* Version: 2.7.0 | ||
* Version: 2.7.2 | ||
* Author: LianYue | ||
@@ -960,2 +960,3 @@ */ | ||
input.name = key; | ||
input.value = value; | ||
form.appendChild(input); | ||
@@ -962,0 +963,0 @@ } |
{ | ||
"name": "vue-upload-component", | ||
"description": "Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter", | ||
"version": "2.7.1", | ||
"version": "2.7.2", | ||
"author": "LianYue", | ||
@@ -6,0 +6,0 @@ "scripts": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
901538
7983