Skip to content

Commit 0b340c4

Browse files
save file
1 parent 251cddd commit 0b340c4

1 file changed

Lines changed: 92 additions & 0 deletions

File tree

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
2+
3+
<body></body>
4+
5+
<script>
6+
7+
8+
(async()=>{
9+
10+
async function blob_b64(blob){
11+
12+
var buf = await blob.arrayBuffer();
13+
var bytes = new Uint8Array(buf);
14+
var bin = [...bytes].reduce((acc,byte)=>acc+=String.fromCharCode(byte),'');
15+
var b64 = btoa(bin);
16+
return b64;
17+
18+
}//blob_b64
19+
20+
function b64_blob(b64,type='text/plain'){
21+
22+
var bin = atob(b64);
23+
var bytes = [...bin].map(c=>c.charCodeAt(0));
24+
var buf = new Uint8Array(bytes);
25+
var blob = new Blob([buf],{type});
26+
return blob;
27+
28+
}//b64_blob
29+
30+
function b64_dataurl(b64,type){
31+
32+
var dataurl = `data:${type};base64,${b64}`;
33+
return dataurl;
34+
35+
}//b64_datauri
36+
37+
function dataurl_b64(dataurl){
38+
39+
var i = dataurl.indexOf(',')+1;
40+
var b64 = dataurl.slice(i);
41+
return b64;
42+
43+
}//datauri_b64
44+
45+
46+
//test
47+
48+
var dataurl =
49+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAiZJREFUOE9jZK'+
50+
'AAMML0Xuro0P34+jWbbW/vOQYGhv+4zOwUYeDV0bMz3Ljv0Bmw5mdrV9aI8XE3MTy+x/j6zMn9B/cdz4i4ce8WsgFr5eUlVczNa7'+
51+
'7wcFuefvKos2DX3rVgzfsqS63VhXgni319Y/jv9mWGT9evfzx5/320z/ufWxsYGJgcxMTS+ZUUmq/8+zcv/9SZlncMDJ9A+uDOZm'+
52+
'BgYN1lrhmh8etTK8v7j7KfP//8dfnrvxyJf4wBjJycNruZmVIb3n1cw8DA8A/mImTNYLEEBgaBGD7mVpHfDBn/fv9j+viP4e0apv'+
53+
'9BU/8wHEYPCwzNIAO2MDOEivxnXMT0/z/HP2bGb0cYWexKfv8+ix6IGJp3MjFkCvxnmPKdkfHjQUamQi9upmZmdqYvDa9/mm9iYP'+
54+
'iMbACK5q0MDCmijAyzGJgZ/23+/z+m+S/DinY+dpUoCZZ9D37+W2n/8HsZstPhmtcyMFjIMjEeYmdlZL3IyDgr7sffLAYGhr8gm+'+
55+
'aIsho68bHvXvvyl0Ppl19XMALsmCDvCf7f383fMjPeTfv42/wGA8NbZCfuFOVI4mFm9rB+8TUcZjvY5lZubvFoV5sXrLcvMZx7/6'+
56+
'7X99nPEiwpjOmYMOeGSW+/Z6xgYHgGj+ckBgbe9pbKl3xPb3Ku33M4L+r268nYkucCdnblt//+8RX//n0eJZFsTY0JY/322Tpj6c'+
57+
'a6ewwMH4nJL1jjmRiNIDUADZXPhFJZPA0AAAAASUVORK5CYII='
58+
;
59+
60+
61+
var img = document.createElement('img');
62+
img.style.cssText = 'border:1px solid lightgray;border-radius:5px;margin-right:20px;cursor:pointer;';
63+
var nimg;
64+
65+
nimg = img.cloneNode();
66+
nimg.src = dataurl;
67+
document.body.append(nimg);
68+
69+
70+
var b64 = dataurl_b64(dataurl);
71+
var blob = b64_blob(b64,'image/png');
72+
var type = blob.type; // image/png
73+
74+
nimg = img.cloneNode(true);
75+
nimg.src = window.URL.createObjectURL(blob);
76+
document.body.append(nimg);
77+
78+
79+
var b64 = await blob_b64(blob);
80+
var dataurl = b64_dataurl(b64,'image/png');
81+
82+
nimg = img.cloneNode();
83+
nimg.src = dataurl;
84+
document.body.append(nimg);
85+
86+
})();
87+
88+
89+
</script>
90+
91+
92+

0 commit comments

Comments
 (0)