vue-poster-editor
Version:
A poster editor based on Vue.js
35 lines (27 loc) • 1.04 kB
JavaScript
;
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'];