@@ -23,14 +23,14 @@ export default class ImagePreviewWebview {
2323 console . log ( "detect images in data with method" + doNotCheckBase64 ? "flat and start" : "regexp" )
2424 let imageList : String [ ] = [ ] ;
2525 if ( doNotCheckBase64 ) {
26- //fast method. parse the json, look for strings starting with data:image/png;base64,
26+ //fast method. parse the json, look for strings starting with data:image/png;base64 or data:image/jpeg;base64 ,
2727 let objlist = JSON . parse ( data ) ;
2828 imageList = objlist . filter ( ( v : any ) => {
29- return ( ( typeof ( v ) === 'string' ) && ( String ( v ) . startsWith ( "data:image/png;base64," ) ) ) ;
29+ return ( ( typeof ( v ) === 'string' ) && ( ( String ( v ) . startsWith ( "data:image/png;base64," ) || String ( v ) . startsWith ( "data:image/jpeg;base64," ) ) ) ) ;
3030 } )
3131 } else {
3232 //slow method. carefully look for images with a regexp
33- let imgb64Pattern : string = '"(data:image\/png;base64,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?)"' ;
33+ let imgb64Pattern : string = '"(data:image\/( png|jpeg) ;base64,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?)"' ;
3434 let re = RegExp ( imgb64Pattern , 'g' ) ;
3535 let match : RegExpMatchArray | null ;
3636 imageList = [ ] ;
@@ -68,7 +68,11 @@ export default class ImagePreviewWebview {
6868 imageList . forEach ( ( image : String ) => {
6969 htmlContent += `<h2>Image ${ imgcounter } </h2>`
7070 htmlContent += `<img src="${ image } " /><br/>`
71- htmlContent += `<input type="button" class="imgsavebutton" value="Save Image ${ imgcounter } ..." onClick="saveimg('${ image } ')"/>`
71+ if ( image . startsWith ( "data:image/png;base64," ) ) {
72+ htmlContent += `<input type="button" class="imgsavebutton" value="Save Image ${ imgcounter } ..." onClick="saveimgpng('${ image } ')"/>`
73+ } else if ( image . startsWith ( "data:image/jpeg;base64," ) ) {
74+ htmlContent += `<input type="button" class="imgsavebutton" value="Save Image ${ imgcounter } ..." onClick="saveimgjpg('${ image } ')"/>`
75+ }
7276 //link test 1
7377 imgcounter ++ ;
7478 } )
@@ -95,12 +99,16 @@ export default class ImagePreviewWebview {
9599 return blob;
96100 }
97101
98- function saveimg (base64image) {
102+ function saveimgpng (base64image) {
99103 b=dataURItoBlob(base64image);
100104 d=new Date();
101105 saveAs(b,"Warp 10-Processing Image-" + d.toISOString() + ".png")
102106 }
103-
107+ function saveimgjpg(base64image) {
108+ b=dataURItoBlob(base64image);
109+ d=new Date();
110+ saveAs(b,"Warp 10-Processing Image-" + d.toISOString() + ".jpg")
111+ }
104112 </script>
105113
106114 </br>stack bottom</body>`
0 commit comments