function makeurl (blob,ct) {
	if (ct===undefined) ct="application/bin";
	if (toType(blob) == 'string') { //best to avoid binary strings or base64 as input
		//base64 url
		if(/^data:[^;]+;\s*base64\s*,/.test(blob)) {
			blob=b64toarray(blob.split(',')[1]);
		//assume binary string
		} else {
			blob=bstringtoarray(blob);
		}
	}
	if (toType(blob) != 'blob') { // tested only with uint8array and arraybuffer
		blob=new Blob ([blob],{type:ct});
	}
	return (URL.createObjectURL(blob));
}
// Takes a blob, or something to be converted to a blob plus its mime Content-type
Takes a blob, or something to be converted to a blob plus its mime Content-type
Takes a blob or something to be converted to a blob plus its mime Content - type
function makeurl (blob,ct) {
	if (ct===undefined) ct="application/bin";
	if (toType(blob) == 'string') { 
		if(/^data:[^;]+;\s*base64\s*,/.test(blob)) {
			blob=b64toarray(blob.split(',')[1]);
		} else {
			blob=bstringtoarray(blob);
		}
	}
	if (toType(blob) != 'blob') { 
		blob=new Blob ([blob],{type:ct});
	}
	return (URL.createObjectURL(blob));
}
function makeurl ( blob , ct ) { if ( ct === undefined ) ct = "application/bin" ; if ( toType ( blob ) == 'string' ) { if ( / ^data:[^;]+;\s*base64\s*, / . test ( blob ) ) { blob = b64toarray ( blob . split ( ',' ) [ 1 ] ) ; } else { blob = bstringtoarray ( blob ) ; } } if ( toType ( blob ) != 'blob' ) { blob = new Blob ( [ blob ] , { type : ct } ) ; } return ( URL . createObjectURL ( blob ) ) ; }
Takes a blob, or something to be converted to a blob plus its mime Content-type
Takes a blob or something to be converted to a blob plus its mime Content - type
//best to avoid binary strings or base64 as input //base64 url //assume binary string // tested only with uint8array and arraybuffer