UNPKG

vue-poster-editor

Version:

A poster editor based on Vue.js

35 lines (27 loc) 1.04 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var dataURLPattern = /^data:((.*?)(;charset=.*?)?)(;base64)?,/; exports.default = { dataurlToBlob: function dataurlToBlob(dataURL) { var matches = dataURL.match(dataURLPattern); if (!matches) { throw new Error('invalid data URI'); } var mediaType = matches[2] ? matches[1] : 'text/plain' + (matches[3] || ';charset=US-ASCII'); var isBase64 = !!matches[4]; var dataString = dataURL.slice(matches[0].length); var byteString = isBase64 ? atob(dataString) : decodeURIComponent(dataString); var byteStringLen = byteString.length; var arrayBuffer = new ArrayBuffer(byteStringLen); var intArray = new Uint8Array(arrayBuffer); for (var i = 0; i < byteStringLen; i += 1) { intArray[i] = byteString.charCodeAt(i); } return new Blob([intArray], { type: mediaType }); } }; module.exports = exports['default'];